在 Power Pages 中使用 OpenID Connect 的常見問題集

本文提供有關一般 Power Pages 案例的資訊,和使用符合 OpenId Connect 規格之驗證提供者的常見問題解答。

你能把內建的 Entra ID 提供者設成獨立的 OpenID 提供者嗎?

不,你不能把預設的 Entra ID 提供者設成獨立的 OpenID 提供者。

我是否需要一份 OpenID Connect 自動探索文件,才能與 Power Pages 整合?

若要與 Power Pages 整合,則需要一份自動探索文件,或 OpenID Connect 中繼資料文件(也稱為 /.well-known/openid-configuration)。 Power Pages 使用文件中的資訊來建立授權要求,並驗證驗證權杖。

如果您的識別提供者未提供自動探索文件,您可以自行手動建立它,並將它放在任何公用位置 (包括您的網站)。

注意

與探索文件類似,Power Pages 也需要識別提供者來提供公用 JWKS URI 端點,讓公開金鑰可以用來驗證識別碼權杖的簽章。 此端點必須在探索文件中指定為 jwks_uri 鍵。

Power Pages 是否在驗證要求中支援自訂範圍參數?

可以使用提供者設定中的範圍設定來指定自訂範圍參數。

為何 Dataverse 中的連絡人或外部身分識別記錄中的使用者名稱,與使用者在登入頁面上輸入的使用者名稱相比不同?

聯絡人紀錄中的使用者名稱欄位和外部身份記錄顯示 Microsoft Entra 基礎提供者在子權利聲明或物件 ID(OID)聲明中所傳送的值。 這是因為子權利要求代表使用者識別碼,且由身份提供者保證其唯一性。

為什麼使用者沒有以預期的現有聯絡人身份登入?

網站如何匹配現有聯絡人,取決於聯絡人映射與電子郵件AllowContactMappingWithEmail()設定:

  • 如果AllowContactMappingWithEmail已啟用,網站會使用emails、upn或宣告,依email比對聯絡人。
  • 若 AllowContactMappingWithEmail 已關閉,網站會使用使用者識別碼宣告(oid 或 ),依 sub 比對聯絡人。

Power Pages 是否支援從以 OpenID Connect 為基礎的提供者登出?

Power Pages 驗證支援前通道登出機制,可同時從應用程式和以 OpenID Connect 為基礎的提供者登出。

Power Pages 是否支援單一登出?

Power Pages 不支援 OpenID Connect 型提供者的單一登出技術。

Power Pages 是否需要 ID 權杖中的特定宣告?

Power Pages 需要在識別碼權杖中有一個代表使用者電子郵件地址的宣告。 此宣告必須命名為 email、emails 或 upn。 系統會依照下列順序處理這些宣告,並將其設為 Dataverse 中連絡人記錄的主要電子郵件地址:

  1. 電子郵件
  2. 電子郵件
  3. upn

使用時,「emailclaimsmapping」也會用於搜尋現有聯絡人(Dataverse 中的「主要電子郵件地址」欄位)。

我可以使用 JavaScript 來存取權杖 (識別碼或存取權) 嗎?

身分提供者提供的 ID 權杖無法在用戶端透過 JavaScript 或任何標準技術取得。 它僅用於驗證。 不過,如果您使用的是隱含授與流程,則可以使用您的識別提供者提供的方法來取得識別碼或存取權杖的存取權。 例如,Microsoft Entra ID 為此案例提供了 Microsoft 驗證程式庫。

我可以使用自訂 OpenID Connect 提供者,而不是 Microsoft Entra ID 嗎?

Power Pages 支援任何符合標準 OpenID Connect 規格的識別提供者。

另請參閱

設定 OpenID Connect 提供者