共用方式為


設定 OpenID Connect 提供者

OpenID Connect 外部識別提供者是遵循 OpenID Connect 規格 的服務。 OpenID Connect 引進了識別碼權杖的概念。 識別碼權杖是一個允許用戶端驗證使用者身份的安全性權杖。 它也會取得使用者的基本設定檔資訊,也稱為宣告

OpenID Connect 提供者 Microsoft Entra 外部 IDMicrosoft Entra ID 以及有多個租用戶的 Microsoft Entra ID 已內建於 Power Pages 中。 本文說明如何將其他 OpenID Connect 識別提供者新增至 Power Pages 網站。

Power Pages 中支援和不支援的驗證流程

  • 隱含授與
    • 此流程是 Power Pages 網站的預設驗證方法。
  • 授權碼
    • Power Pages 使用 client_secret_post 方法來與身分識別伺服器的權杖端點進行通訊。
    • 不支援使用權杖端點進行驗證的 private_key_jwt 方法。
  • 混合式 (受限支援)
    • Power Pages 要求回覆中必須存在 id_token,因此不支援 response_type = 程式碼權杖
    • Power Pages 中的混合式流程遵循與隱含授與相同的流程,並使用 id_token 直接登入使用者。
  • 代碼交換的證明金鑰 (PKCE)
    • 不支援 PKCE 式使用者驗證技術。

注意

變更網站的驗證設定可能需要幾分鐘的時間才能反應在網站上。 若要立即查看變更,請在系統管理中心重新啟動網站。

在 Power Pages 中設定 OpenID Connect 提供者

  1. 在 Power Pages 網站中,選取安全性>識別提供者

    如果沒有出現識別提供者,請檢查網站的一般驗證設定中的外部登入是否設定為

  2. 選取 + 新提供者

  3. 選取登入提供者底下,選取其他

  4. 通訊協定底下,選取 OpenID Connect

  5. 輸入提供者的名稱。

    提供者名稱是使用者在登入頁面選取識別提供者時所見按鈕上的文字。

  6. 選取下一步

  7. 回覆 URL 底下,選取複製

    不要關閉 Power Pages 瀏覽器索引標籤。您很快就會返回其中。

在識別提供者中建立應用程式註冊

  1. 使用您複製 的回復 URL ,建立和註冊應用程式給您的識別提供者。

  2. 複製應用程式或用戶端識別碼及用戶端密碼。

  3. 尋找應用程式的端點,並複製 OpenID Connect 中繼資料文件 URL。

  4. 根據需要變更您識別提供者的其他設定。

在 Power Pages 中輸入網站設定

返回先前離開的 Power Pages 設定識別提供者頁面,然後輸入下列值。 或者,視需要變更其他設定。 完成後,選取確認

  • 授權單位:依照以下格式輸入授權 URL:https://login.microsoftonline.com/<Directory (tenant) ID>/,其中 <Directory (tenant) ID>您建立的應用程式的目錄 (租用戶) 識別碼。 例如,如果 Azure 入口網站中的目錄 (租用戶) 識別碼是 aaaabbbb-0000-cccc-1111-dddd2222eeee,則授權 URL 為 https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/​

  • 用戶端識別碼:貼上您建立的應用程式的應用程式或用戶端識別碼。

  • 重新導向 URL:如果您的網站使用自訂網域名稱,請輸入自訂 URL,否則請保留預設值。 請確定該值與您建立應用程式的重新導向 URI 完全相同。

  • 中繼資料位址:貼上您複製的 OpenID Connect 中繼資料文件 URL。

  • 範圍:使用 OpenID Connect scope 參數輸入要求的範圍清單 (以空格分隔)。 預設值是 openid

    openid 值是必要的。 了解其他可新增的宣告

  • 回覆類型:輸入 OpenID Connect response_type 參數的值。 可能的值包括:codecode id_tokenid_tokenid_token tokencode id_token token。 預設值是 code id_token

  • 用戶端密碼:貼上提供者應用程式的用戶端密碼。 這也可能稱為應用程式密碼消費者密碼。 若回覆類型為 code,則需要此設定。

  • 回覆模式:輸入 OpenID Connect response_mode 參數的值。 如果回覆類型為 code,則該值應為 query。 預設值是 form_post

  • 外部登出:此設定控制網站是否使用同盟登出。使用者透過同盟登出來登出應用程式或網站時,他們也會登出所有使用相同識別提供者的應用程式和網站。 打開此項可以在使用者從您的網站登出時,將其重新導向至同盟登出體驗。 關閉此項可讓使用者只登出您的網站。

  • 登出後重新導向 URL:輸入識別提供者在使用者登出後所應重新導向到的 URL。您必須在識別提供者設定中適當設定此位置。

  • RP 發起的登出:此設定控制信賴憑證者 (OpenID Connect 用戶端應用程式) 是否可以登出使用者。 若要使用此設定,請開啟外部登出

Power Pages 中的其他設定

其他設定可讓您更好地控制使用者如何透過 OpenID Connect 識別提供者進行驗證。 您不一定要設定這些值。 它們都是選用的。

  • 簽發者篩選:輸入萬用字元型篩選條件 (例如 https://sts.windows.net/*/),此篩選條件會比對所有租用戶中的所有簽發者。 如果您使用的是 Microsoft Entra ID 驗證提供者,則簽發者 URL 篩選條件會是 https://login.microsoftonline.com/*/v2.0/

  • 驗證對象:開啟此設定可在權杖驗證期間驗證對象。

  • 有效對象:輸入以逗點分隔的對象 URL 清單。

  • 驗證簽發者:開啟此設定可在權杖驗證期間驗證簽發者。

  • 有效簽發者:輸入以逗點分隔的簽發者 URL 清單。

  • 註冊宣告對應登入宣告對應:在使用者驗證中,宣告是描述使用者身分識別的資訊,例如電子郵件地址或出生日期。 當您登入應用程式或網站時,它會建立權杖。 權杖包含身分識別的資訊,包括與其關聯的任何宣告。 當您存取應用程式或網站的其他部分,或連線到相同識別提供者的其他應用程式和網站時,會使用權杖來驗證您的身分。 宣告對應是變更權杖所包含資訊的方法。 它可以用來自訂應用程式或網站可用的資訊,並控對制功能或資料的存取。 註冊宣告對應會修改您註冊應用程式或網站時發出的宣告。 登入宣告對應會修改您登入應用程式或網站時發出的宣告。 深入了解宣告對應原則

    可以透過兩種方式提供使用者資訊:

    • 識別碼權杖宣告 – 在權杖中包含基本使用者屬性,例如名字或電子郵件。
    • UserInfo 端點 – 可在驗證後傳回詳細使用者資訊的安全 API。

    若要使用 UserInfo 端點,請建立名為 Authentication/OpenIdConnect/{ProviderName}/UseUserInfoEndpointforClaims網站設定,並將值設定為 true

    或者,建立名為 Authentication/OpenIdConnect/{ProviderName}/UserInfoEndpoint 的網站設定,並將值設定為 UserInfo 端點 URL。 如果未提供此設定,則 Power Pages 會嘗試在 OIDC 中繼資料中尋找端點。

    錯誤處理

    • 如果未設定端點 URL 且 Power Pages 無法在中繼資料中找到端點,則登入會繼續並記錄警告。
    • 如果設定了 URL 但無法存取,登入將繼續但會顯示警告。
    • 如果端點傳回驗證錯誤 (如 401 或 403),登入將會繼續,並顯示包含錯誤訊息的警告。

    對應語法:

    若要在登入或註冊聲明對應中使用 UserInfo 聲明,請使用以下格式:

    fieldName = 使用者資訊.claimName

    如果未啟用 UseUserInfoEndpointforClaims,則會忽略使用 userinfo. 首碼的對應。

  • Nonce 存留期:輸入 Nonce 值的存留期 (以分鐘為單位)。 預設值為 10 分鐘。

  • 使用權杖存留期:此設定控制驗證工作階段存留期 (例如 Cookie) 是否應與驗證權杖的存留期相符。 如果您將打開此項,此值將覆寫 Authentication/ApplicationCookie/ExpireTimeSpan 網站設定中的應用程式 Cookie 到期時間範圍值。

  • 電子郵件的連絡人對應:此設定決定連絡人登入時,是否要對應至相對的電子郵件地址。

    • 開啟:將唯一的連絡人記錄關聯至相符的電子郵件位址,然後在使用者成功登入後,自動指派外部識別提供者給連絡人。
    • 關閉

注意

UI_Locales要求參數會自動在驗證要求中傳送,並設定為在入口網站上選取的語言。

其他授權參數

使用下列授權參數,但不要在 Power Pages 的 OpenID Connect 提供者中設定這些參數:

  • acr_values:acr_values 參數允許識別提供者強制多重要素驗證 (MFA) 等安全性保證層級。 此參數可讓應用程式指示所需的驗證層級。

    若要使用 acr_values 參數,請建立名為 Authentication/OpenIdConnect/{ProviderName}/AcrValues網站設定,並設定所需的值。 設定此值時,Power Pages 會在授權要求中包含 acr_values 參數。

  • 動態授權參數:動態參數允許您為不同的使用情境 (例如內嵌應用程式或多租用戶案例) 自訂授權要求。

    • 提示參數

      此參數控制是否出現登入頁面或同意畫面。 要使用它,請新增自訂以將其作為查詢字串參數傳送到 ExternalLogin 端點。

      支援的值

      • 登入
      • 同意
      • 選擇帳戶

      URL 格式

      {PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&prompt={value}

      Power Pages 在提示參數中將此值傳送給識別提供者。

    • 登入提示參數

      此參數可讓您傳遞已知的使用者識別碼 (例如電子郵件) 來預先填入或繞過登入畫面。 要使用它,請新增自訂以將其作為查詢字串參數傳送到 ExternalLogin 端點。

      URL 格式

      {PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&login_hint={value}

      當使用者已經在同一個工作階段中透過 Microsoft Entra ID 或 Microsoft 帳戶 (MSA) 等其他身分識別 登入時,這會有所幫助。

  • 自訂授權參數:某些識別提供者支援特定授權行為的專屬參數。 Power Pages 可讓製作者安全地設定和傳遞這些參數。 若要使用這些參數,請新增自訂以將它們作為查詢字串參數傳送至 ExternalLogin 端點。

    建立名為 Authentication/OpenIdConnect/{Provider}/AllowedDynamicAuthorizationParameters網站設定,並將值設定為以逗號分隔的參數名稱清單,例如 param1,param2,param3。

    範例 URL 格式

    {PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&param1=value&param2=value&param3=value

    如果有任何參數 (param1、param2 或 param3) 不在允許參數清單中,則 Power Pages 會加以忽略。

    此設定會定義可在授權要求中傳送的自訂參數清單。

    行為

    • 在 ExternalLogin 端點的查詢字串中傳遞參數。
    • Power Pages 只會將清單中的參數包含在授權要求中。
    • 始終允許使用預設參數 (例如 prompt、login_hint 和 ReturnUrl),不需要列出。

    範例 URL 格式

    {PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&custom_param=value

    如果 custom_param 不在允許參數清單中,則 Power Pages 會加以忽略。

請參閱

使用 Power Pages 設定 Microsoft Entra 外部識別碼
使用 Microsoft Entra ID 設定 OpenID Connect 提供者
OpenID Connect 常見問題集