在自訂應用程式中配置 OpenID Connect 單一登入

使用 OpenID Connect 進行單一登入,可讓應用程式根據 Verify所執行的鑑別來驗證其使用者的身分。 使用者不需要向應用程式註冊帳戶。 使用者會重新導向至 Verify 以進行登入。 Verify 會驗證使用者的身分,透過 ID 記號傳送資訊,並向 依賴方 確認使用者已獲授權存取及使用資源。 這個應用程式使用 OpenID Connect 提供者與探索端點 https://<tenant-host>/oidc/endpoint/default/.well-known/openid-configuration

開始之前

附註: 此作業的替代方案位於 動態用戶端登錄
  • 您必須具有管理許可權以完成此作業。
  • 開啟至少兩個瀏覽器視窗以完成設定。 一個用於 Verify 管理主控台,另一個用於目標應用程式的管理主控台。
    • 以管理者身分登入 IBM® Security Verify 管理主控台。
    • 使用您的管理者帳戶登入目標應用程式管理主控台。
  • 您必須在 一般 標籤中設定應用程式實例的基本資訊。 請參閱 設定基本應用程式詳細資料

關於此作業

Verify 預先定義的應用程式範本沒有 OpenID Connect 登入選項。 使用 自訂應用程式 範本 ,將應用程式配置成 OpenID Connect 依賴方用戶端應用程式 ,將使用者鑑別委派給 Verify

Verify依賴方 配置為彼此交談。 如果要啟用 OpenID Connect 單一登入,您必須提供:
  • Verify 具有來自 依賴方的特定資料。
  • 具有來自 Verify的特定資料的 依賴方

您可以將 IBM Security Verify Access 及行動式應用程式配置為 OpenID Connect 依賴方

程序

  1. 導覽至 登入 標籤。
  2. 登入方法中,選取 OpenID Connect 1.0
  3. Verify 提供 依賴方的基本相關資訊。
    欄位 說明
    應用程式 URL

    它是單一登入起始設定 URL ,用來登入 OpenID Connect 依賴方

    應用程式使用此 URL 來要求 Verify ,以取得包含使用者詳細資料的 ID 記號。

    當使用者透過此 URL 存取應用程式時,會將他們重新導向至 Verify 以進行鑑別。

    在其網站配置授權提供者OpenID Connect 提供者 時,您可以從依賴方 中取得此資訊。

    授權類型

    它指出 依賴方 可用來從 Verify擷取 ID 記號的機制。

    Verify 支援下列授權類型:
    • 授權碼
      附註: 授權碼預先選取為預設授權類型,依預設也會選取 PKCE。
    • 隱含
    • 裝置流程
      附註: 如果您選取「裝置流程」,也可以產生 QR 碼。
    • 原則驅動鑑別 policyauth
    • JWT 承載者
      附註: 如果您選取 JWT 載送,則可以選擇配置 JWKS URIJWT bearer user identificationJWT bearer default identity source。 如需如何使用 JWT 載送授權類型的相關資訊,請參閱 授權類型
    • 授權碼、隱含、裝置流程及 ROPC 的任何組合。

    您必須至少選取一個授權類型。 如果 ROPC 是唯一選取的授權類型,則不會顯示存取原則選項。 請參閱 授權類型 ,以快速比較支援的授權類型,並判斷要為應用程式設定的授權類型。

    用戶端 ID

    它是指派給 用戶端應用程式(即 OpenID Connect 依賴方) 的唯一公用 ID。 授權伺服器會使用此資訊,來識別依賴方 及授權要求。

    在您儲存自訂 OpenID Connect 應用程式之後,會自動產生這項資訊。 當您在應用程式的管理主控台中配置 Verify 作為 OpenID Connect 提供者 時,您必須將此資訊提供給依賴方

    每次依賴方 要求存取記號時,便會使用用戶端 ID。

    Kubernetes 密碼 Kubernetes 密碼 YAML 檔用來連接 Red Hat OpenShift。 您必須下載 Kubernetes 密碼 YAML 檔案才能取得 meta 資料。
    公用用戶端(無用戶端密碼)

    指出用戶端 沒有需要由應用程式提供的密碼。

    附註: 選取時,會隱藏 用戶端密碼 欄位,並從 簽章演算法 選項中移除下列演算法:
    • HS256
    • HS384
    • HS512

    只有在用戶端類型為機密時,才會產生用戶端密碼。 機密用戶端可使用安全方式保留用戶端 ID 及密碼,而且不會將這些認證顯示給未獲授權的一方。

    此用戶端密碼只有用戶端應用程式授權伺服器 才會知道。

    用戶端機密

    此資料與用戶端 ID 搭配用來鑑別依賴方,並將授權碼換成 ID 記號。

    在您儲存自訂 OpenID Connect 應用程式之後,會自動產生這項資訊。 當您在應用程式的管理主控台中配置 Verify 作為 OpenID Connect 提供者 時,您必須將此資訊提供給依賴方

    用戶端鑑別方法

    指出端點的鑑別方法,例如,需要用戶端鑑別的記號端點。

    Verify 支援下列用戶端鑑別方法:
    • 預設
    • 用戶端密碼 basic
    • 用戶端密碼 POST
    • 用戶端密碼 JWT
    • 私密金鑰 JWT

    如果保留預設值,則同時容許用戶端密碼 basic 及 POST。 如果依賴方支援它,請使用私密金鑰 JWT 作為配置。

    驗證用戶端主張 JTI

    指出是否驗證用戶端主張 JWT 中的 JTI 為單次使用。 僅在選取用戶端密碼 JWT 或私密金鑰 JWT 用戶端鑑別方法時,才會顯示此選項。

    容許的簽章驗證金鑰

    可用來驗證用戶端主張 JWT 的簽章驗證金鑰 ID。 僅在選取私密金鑰 JWT 用戶端鑑別方法時,才會顯示此選項。

    需要證明金鑰以進行代碼交換 (PKCE) 驗證 PKCE 用於減輕授權碼攔截攻擊。 需要代碼盤查,才可以繼續進行授權碼流程。 僅在選取授權碼授權流程時,才會顯示此選項。
    重新導向 URI

    它是回呼 URL; Verify 將其鑑別回應傳送至 依賴方的位址。

    Verify對使用者進行鑑別及授權之後,會將使用者重新導向至此 URL。

    您必須至少指定一個 URI。 如果回呼 URI 是應用程式的網域,則它可以是租戶的網域。
    附註: 網域可以有萬用字元值。 雖然 URI 路徑不支援萬用字元,但 "*" 字元是有效的 URI 路徑字元,會被視為文字字串。

    您最多可以新增 400 個 URI。

    在其網站配置授權提供者OpenID Connect 提供者 時,您可以從依賴方 中取得此資訊。
    JWKS URI 依賴方在其中以「JSON Web 金鑰 (JWK)」格式發佈其公開金鑰的 URI。 此 URI 用於 JWT 簽章驗證。 系統可以拒絕無法呼叫到或無法回應的 JWKS URI。 如果 JWKS 大小太大,則系統也可以拒絕 JWKS URL。 如果依賴方未發佈 JWKS URI,則可將公開金鑰以 X509 憑證的形式新增至系統。 請參閱 管理憑證。 與公用憑證相關聯的「一般名稱」是 JWT 的金鑰 ID (kid) 標頭的值。
    JWT 載送使用者識別

    僅適用於 JWT 載送授權類型。

    此配置會告知系統如何解譯 JWT 載送主旨 (sub) 以識別與此 JWT 載送記號相關聯的「使用者」。 子項可以是 User IDUsernameExternal ID
    JWT 載送預設身分來源

    僅適用於 JWT 載送授權類型。

    如果 JWT 未指定領域,則它是由 sub 識別之使用者所屬的預設身分來源領域。 當 JWT bearer user identification 選項設為 User ID 時,此設定不適用。
    如果您正在編輯現有的應用程式,您可以使用下列用戶端密碼選項:
    • 選取 複製到剪貼簿 ,將用戶端 ID 或密碼複製到剪貼簿。
    • 選取 顯示 以檢視用戶端密碼。
    • 選取 隱藏 以隱藏用戶端密碼。
    • 選取 重新產生 以產生新的用戶端密碼。 如果您認為用戶端密碼已受損,請使用此選項。 如果您真的要重新產生用戶端密碼,您必須更新應用程式的所有 OAuth 用戶端的用戶端密碼。
  4. 配置存取記號及重新整理記號期限,以限制這些記號在遭竊後未獲授權的存取時間。

    存取記號是用來授權存取受保護資源。 在存取記號到期之後,即會撤銷授權。

    表 1. 記號設定
    欄位 說明
    存取記號起始設定期限(秒)

    它會設定存取記號的有效時間長度(以秒為單位)。

    設定存取記號期限,以限制當用戶端應用程式 受損時,攻擊者可以利用遭竊記號存取資源的時間。

    只接受正整數。

    預設值為 7200 秒。 容許的下限值為 1 秒,而上限值為 2147483647 秒。

    存取記號格式 指出存取記號是否產生為不透明字串,即Default設定,或採用 JWT 格式。
    對象 指定為記號接收者的目標。 這些值列在 JWT 格式記號的 aud 要求中,以及以單一字串或字串陣列形式列在內部檢查有效負載中。
    內部檢查屬性對映 此屬性對映清單會用來在內部檢查有效負載及 JWT 格式存取記號中包括要求。
    屬性名稱 依賴方 使用且需要來自 Verify的屬性名稱。
    屬性

    列出您在 名錄 > 屬性中為每一種類型定義的所有屬性來源。

    所選取屬性來源的值會指派為 ID 記號中已定義之依賴方 屬性名稱的屬性值。

    產生重新整理記號

    指出 用戶端應用程式 是否可以要求及使用 重新整理記號 ,以從 OpenID Connect 身分提供者的授權伺服器取得新的 存取記號

    僅當應用程式打算使用存取記號來使用 Verify API 執行作業時,才使用此選項。

    只有在前一個存取記號過期時,才需要取得新的存取記號。

    如果選取了「隱含」作為授權類型,則此選項不相關。

    重新整理記號期限(秒)

    它會設定重新整理記號的有效時間長度(以秒為單位)。 此設定會決定使用者可以重新鑑別的頻率。

    設定重新整理記號期限,以確保使用者在經歷一段時間之後,針對 Verify 重新嘗試完整單一登入作業。

    只有在啟用產生重新整理記號時,才會顯示此選項。

    重新整理記號是用來取得新的存取記號,以繼續存取受保護的資源。

    只接受正整數。

    預設值為 604800 秒。 容許的下限值為 1 秒,而上限值為 2147483647 秒。

    更新重新整理記號生命期限 此選項指出當使用重新整理記號來取得新記號集時,是否會更新重新整理記號生命期限。 選取此勾選框後,每次重新整理重新整理記號時,都會更新由重新整理記號期限所設定的生命期限。 如果未選取它,則更新的重新整理記號會在達到原始重新整理記號期限時到期。
  5. 指定 ID 記號簽章 和加密 選項。 依賴方 會使用簽章來驗證記號中所包含使用者要求的完整性和確實性,以及簽署記號的 OpenID Connect 身分提供者記號可以加密,以便只有依賴方可以將它解密。
    表 2. 簽章和加密選項
    欄位 說明
    簽章演算法

    Verify 用來簽署 ID 記號的演算法。 演算法必須符合 依賴方 Verify登錄的演算法。

    從下列雜湊演算法中選擇,以驗證簽章:
    • HS256
    • HS384
    • HS512
    • ES256
    • ES384
    • ES512
    • PS256
    • PS384
    • PS512
    • RS256(預設值)
    • RS384
    • RS512
    附註:
    • 如果選取 ES256 簽章演算法,則憑證必須是具有 P-256 的 ECDSA。
    • 如果選取 ES384 簽章演算法,則憑證必須是具有 P-384 的 ECDSA。
    • 如果選取 ES512 簽章演算法,則憑證必須是具有 P-521 的 ECDSA。
    • 選擇不產生用戶端密碼時,不會顯示 HS 演算法。
    簽署憑證

    只有在選取了任何 RS、ES 或 PS 簽章演算法時,才會顯示此選項。

    使用此憑證,在單一登入期間簽署 ID 記號。

    預設選項是指您在 安全 > 憑證 > 個人憑證中配置的預設個人憑證。

    加密演算法 用於加密或決定內容加密金鑰 (CEK) 值的加密演算法。
    支援下列演算法:
    • RSA-OAEP
    • RSA-OAEP-256
    內容演算法 用來對純文字執行鑑別加密以產生密碼文字及鑑別標籤的內容加密演算法。
    支援下列演算法:
    • A128GCM
    • A192GCM
    • A256GCM
    加密金鑰 用於加密之金鑰的憑證標籤或金鑰 ID。
  6. 透過 ID 記號對映 Verify 支援並提供給 依賴方 的使用者屬性。
    Verify 可能會延伸標準 JSON 要求綱目,以包括 其他屬性 ,例如員工角色、經理及部門。
    附註: 依預設,下列屬性已新增至 ID 記號: userTypeuniqueSecurityNamedisplayNamerealmNamenamepreferred_usernamejtiat_hashext。 其中部分屬性可以從 ID 記號中移除,方法是將它們對映至配置為不傳回任何值的屬性來源。
    屬性對映 區段包含下列元素,如 表 3中所述。
    • 用來傳送所有已知使用者屬性的勾選框選項。
    • 用來在 Verify中新增屬性名稱及其對應屬性來源的選項。
    表 3. 屬性對映
    資訊 說明
    傳送 ID 記號中所有已知的使用者屬性

    當選取時, OpenID Connect 提供者 身分來源中提供的所有已知使用者認證屬性都會自動併入 ID 記號中。

    已知的使用者認證屬性包括:
    標準屬性
    這些屬性來自 Verify Cloud Directory,其中包括 Directory > 屬性中顯示的內建屬性。
    延伸屬性
    這些屬性來自您在 鑑別 > 身分提供者中配置的 SAML Enterprise 身分提供者。
    自訂屬性
    這些屬性是您在 目錄 > 屬性新增屬性來源 」對話框中手動定義的屬性。

    否則,只會在 ID 記號 中定義依賴方 需要的特定屬性。 請指定屬性名稱及屬性來源。

    屬性名稱 依賴方 使用且需要來自 Verify的屬性名稱。
    屬性

    列出您在 名錄 > 屬性中為每一種類型定義的所有屬性來源。

    所選取屬性來源的值會指派為 ID 記號中已定義之依賴方 屬性名稱的屬性值。

    附註: 如果針對屬性來源值顯示 無標籤屬性 ,則是因為屬性的用途已變更。 使用屬性的現有應用程式可以繼續使用該應用程式,直到您重新對映應用程式以為該用途使用不同屬性。 例如,如果在現有屬性上清除單一登入 (SSO) 勾選框,已使用該屬性進行 SSO 的應用程式可以繼續使用它來進行 SSO。 當移除供應用途時,相同的行為會套用在供應屬性對映。
  7. 選取判定使用者如何存取應用程式的身分來源及原則。
    1. 選取可用來登入此應用程式的身分來源。

      預設值是容許從為租戶配置的所有企業身分來源存取。 若要限制可用來登入應用程式的身分來源,請選取選取特定支援的身分來源。 選取要容許從其登入的身分來源的勾選框。

    2. 選取原則來決定使用者如何存取應用程式。
      您可以繼續使用所指派的預設存取原則(即容許從所有裝置存取)。 或者,您可以清除勾選框,然後選取 編輯 ,從預先定義的存取原則清單中選取。 如果選取了多個授權類型(包括 ROPC),則原則將套用到除了 ROPC 以外的所有授權類型。 不施行 ROPC 流程的存取原則。 如果 ROPC 是唯一選取的授權類型,則不會顯示存取原則選項。 如需相關資訊,請參閱 存取原則
  8. 選取是否要求使用者同意。
    可以將使用者同意要求新增至 Open ID Connect 應用程式。 除了資源擁有者密碼認證 (ROPC) 之外,它適用於所有授權類型。 如果 ROPC 是應用程式選取的唯一授權類型,則會隱藏使用者同意選項。 如果維持選取詢問是否同意的預設值,系統會提示使用者明確同意範圍及 API 存取授權。 使用者可以授與或拒絕 API 存取的許可權。 現有的 Open ID Connect 應用程式未要求同意。 如果您想要徵求使用者同意,您必須編輯那些應用程式。 請參閱 管理應用程式同意

    建立應用程式之後,具有值進階的欄位同意類型顯示在要求同意下方。 進階值指出使用者同意儲存在 DPCM 中。 將同意移轉至 DPCM 之後,較舊的 OIDC 自訂應用程式顯示此欄位。 請參閱 移轉使用者同意

  9. 選用: 限制自訂範圍。
    OIDC/OAuth 用戶端可以在支援的 OIDC/OAuth 授權流程中要求自訂範圍。 如果啟用限制自訂範圍,則在流程結束時授權給用戶端的範圍會限制為在此章節中所指定的那些範圍。 如果停用限制自訂範圍,在流程完成時會授與所要求的任何自訂範圍。
    附註: 無法限制標準範圍 openidprofileemailphoneaddress
    1. 確定已選取 限制自訂範圍 勾選框。
    2. 鍵入要授權的自訂範圍名稱及說明。
      範圍名稱是指依賴方/用戶端要求的 OAuth2/OIDC 範圍。 說明是範圍之一般解釋。
      顯示範圍欄位的其他設定。
    3. 對您想要授權的每個自訂範圍重複前一個步驟。
  10. 選用項目: 授與 API 授權給登入記號。
    限制 API 存取是新應用程式的預設值。 應用程式沒有登入記號授權。 若要授與 API 存取的授權,請執行下列步驟。
    1. 選取編輯圖示。
      即會啟動「編輯 API 用戶端」精靈。
    2. 選取您要授與登入記號的使用者及非使用者許可權。
      如果您清除限制 API 存取勾選框,則會將一組預設授權授與記號。 請參閱 預設登入記號 API 授權
    3. 選取 儲存
  11. 選取 儲存

下一步做什麼

  • 依賴方 提供在 Verify依賴方之間完成 OpenID Connect 登入配置所需的 Verify 相關資訊。 請參閱使用者介面中提供的指示。
  • 新增使用者或群組授權,以允許存取已配置的應用程式。 請參閱 管理應用程式授權 (由管理者或應用程式擁有者)
  • 當使用者登入已配置的應用程式時,施行雙因素鑑別,以增加使用者的安全控制。 請參閱 配置鑑別因素