# OpenID Connect 用於與識別提供者整合

OpenID Connect (OIDC) 整合 Qlik Cloud 與識別提供者，在 OAuth 2.0 通訊協定之上新增使用者驗證層。這實現了安全單一登入 (SSO)，允許使用者登入一次並存取多個應用程式和網站，而無需重複進行驗證。

## OAuth 2.0 和 OIDC

OAuth 2.0 的設計用於授權。這允許一個應用程式使用安全 Token 向另一個應用程式授予其資料或功能的存取權限，而不是暴露使用者認證。此 Token 提供有限存取權限，確保您只會分享您同意分享的資訊。您可以隨時撤銷 Token。

OAuth 2.0 不包含使用者識別資訊。OpenID Connect (OIDC) 採用 ID Token 以強化這一點，其中包含使用者登入詳細資訊和設定檔資訊。這些 Token 允許不同的用戶端 (網頁式、行動、JavaScript 和其他) 根據授權伺服器執行的驗證來驗證使用者的身分識別。用戶端也可以要求關於使用者的基本個人檔案資訊。

有關 OAuth 和 OIDC 的介紹，請觀看影片：[OAuth 和 OpenID Connect 圖示指南](https://www.youtube.com/watch?v=t18YB3xDfXI)。

## ID Token

OpenID Connect (OIDC) 中使用的 ID Token 處理使用者驗證並包含詳細的使用者資訊，例如身分識別和設定檔詳細資訊。這些 Token 通常採用 JSON Web Token (JWT) 格式，支援各種簽章和加密演算法。

ID Token 包含宣告－有關使用者的資料片段，例如他們的 ID、名稱、登入時間和篡改跡象。ID Token 中的宣告為應用程式提供了必要的詳細資訊，以驗證使用者的身分識別並促進單一登入 (SSO)。OIDC 規格定義了一組標準宣告，包括姓名、電子郵件、性別和出生日期。可以根據需要新增自訂宣告以包含其他使用者資訊。ID Token 由授權伺服器在使用者驗證成功後簽發，透過 OAuth 2.0 流程取得，適用於 Web 和行動應用程式。

為了保護敏感資料，例如可識別個人身分的資訊 (PII)，您可以使用加密的 ID Token。加密有助於防止未經授權存取並確保隱私和安全性。

## 存取 Token

存取 Token 用於 OAuth 2.0 以進行授權。這允許應用程式代表使用者存取特定資料或功能。存取 Token 可以格式化為 JSON Web Token (JWT) 或非 JWT Token。這作為認證使用，向 API 通知使用者的同意和授予的權限。與 ID Token 不同，存取 Token 不包含使用者識別資訊；這只授予對指定資源的存取權限。

## OpenID Connect 規格

OpenID Connect 1.0 規格由幾個定義其核心功能和選用功能的文件組成。Qlik 支援此規格，但可能不支援所有特定於廠商的實作。然而，Qlik 可以為熱門的識別管理平台提供便利的設定。

規格中的關鍵文件包括：

* OpenID Connect 核心：定義核心 OIDC 功能，包括基於 OAuth 2.0 建置的驗證以及使用宣告來分享使用者資訊。
* OpenID Connect 探索 (選用)：定義用戶端如何動態探索關於 OpenID 提供者的資訊。
* OpenID Connect 動態用戶端註冊 (選用)：定義用戶端如何向 OpenID 提供者動態註冊。
* OAuth 2.0 多種回應類型：定義特定的新 OAuth 2.0 回應類型。
* OAuth 2.0 表單發佈回應模式 (選用)：定義如何使用透過 HTTP POST 自動提交的 HTML 表單值傳回 OAuth 2.0 授權回應參數。
* OpenID Connect 工作階段管理 (選用)：定義如何管理 OIDC 工作階段，包括基於 postMessage 的登出和 RP 發起的登出功能。
* OpenID Connect 前管道登出 (選用)：定義不使用 RP 頁面上的 OP iframe 的前管道登出機制。
* OpenID Connect 後管道登出 (選用)：定義使用登出之 OP 和 RP 之間的直接後管道通訊的登出機制。
* OpenID Connect 同盟 (選用)：定義 OP 和 RP 組如何能夠利用同盟運算子來建立信任。

若要存取這些文件，請造訪[歡迎來到 OpenID Connect](https://openid.net/connect/ "Welcome to OpenID Connect")。