共用方式為


在 Azure Active Directory B2C 自定義原則中定義 OAuth1 技術配置檔

注意

在 Azure Active Directory B2C 中, 自定義原則 的設計主要是為了解決複雜的案例。 在大部分情況下,我們建議您使用內 建的使用者流程。 如果您尚未這麼做,請了解開始使用 Active Directory B2C 中的自定義原則入門套件。

Azure Active Directory B2C (Azure AD B2C) 提供 OAuth 1.0 通訊協議識別提供者的支援。 本文說明與支援此標準化通訊協定之宣告提供者互動的技術配置文件細節。 使用 OAuth1 技術配置檔,您可以與 OAuth1 型身分識別提供者同盟,例如 X。與識別提供者同盟可讓使用者使用其現有的社交或企業身分識別登入。

通訊協定

Protocol 元素的 Name 屬性必須設定為 OAuth1。 例如,Twitter-OAUTH1 技術設定檔的通訊協定是 OAuth1

<TechnicalProfile Id="Twitter-OAUTH1">
  <DisplayName>X</DisplayName>
  <Protocol Name="OAuth1" />
  ...

輸入宣告

InputClaimsInputClaimsTransformations 元素是空的或不存在的。

輸出宣告

OutputClaims 元素包含 OAuth1 識別提供者所傳回的宣告清單。 您可能需要將原則中定義的宣告名稱對應至識別提供者中定義的名稱。 您也可以包含只要設定 DefaultValue 屬性,識別提供者不會傳回的宣告。

OutputClaimsTransformations 元素可能包含 OutputClaimsTransformation 元素的集合,這些元素可用來修改輸出宣告或產生新的宣告。

下列範例顯示 X 識別提供者傳回的宣告:

  • 對應至issuerUserId宣告的user_id宣告。
  • 對應至 displayName 宣告的screen_name宣告。
  • 沒有名稱對應的電子郵件宣告。

技術配置檔也會傳回識別提供者未傳回的宣告:

  • 包含識別提供者名稱的 identityProvider 宣告。
  • 具有預設值的 socialIdpAuthenticationauthenticationSource 宣告。
<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="user_id" />
  <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="screen_name" />
  <OutputClaim ClaimTypeReferenceId="email" />
  <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="twitter.com" />
  <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
</OutputClaims>

中繼資料

屬性 必要 描述
client_id Yes 識別提供者的應用程式識別碼。
ProviderName No 識別提供者的名稱。
request_token_endpoint Yes 根據 RFC 5849 的要求令牌端點 URL。
authorization_endpoint Yes 根據 RFC 5849 的授權端點 URL。
access_token_endpoint Yes 根據 RFC 5849 的令牌端點 URL。
ClaimsEndpoint No 使用者資訊端點的 URL。
ClaimsResponseFormat No 宣告回應格式。

密碼編譯金鑰

CryptographicKeys 元素包含下列屬性:

屬性 必要 描述
client_secret Yes 識別提供者應用程式的客戶端密碼。

重新導向 URI

當您設定辨識提供者的重新導向 URI 時, 請輸入 https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-id}/oauth1/authresp。 請務必將 取代為您的租用戶名稱(例如 contosob2c),並將 {policy-id} 取代{tenant-name}為您的原則標識碼(例如,b2c_1a_policy)。 重新導向 URI 必須位於所有小寫中。 針對所有使用識別提供者登入的原則新增重新導向 URL。

範例: