Azure Active Directory B2C カスタム ポリシーで OAuth1 技術プロファイルを定義する
注意
Azure Active Directory B2C で、カスタム ポリシーは、主に、複雑なシナリオに取り組む用途向けに設計されています。 ほとんどのシナリオで、組み込みユーザー フローを使用することをお勧めします。 まだ行っていない場合は、Active Directory B2C でのカスタム ポリシーの概要に関する記事で、カスタム ポリシー スターター パックの詳細を確認してください。
Azure Active Directory B2C (Azure AD B2C) では、OAuth 1.0 プロトコル の ID プロバイダーのサポートを提供しています。 この記事では、この標準化されたプロトコルをサポートするクレーム プロバイダーとやりとりするための、技術プロファイルの詳細について説明します。 OAuth1 技術プロファイルを使用すると、X などの OAuth1 ベースの ID プロバイダーとフェデレーションできます。ID プロバイダーとのフェデレーションにより、ユーザーは既存のソーシャル ID またはエンタープライズ ID でサインインできます。
Protocol
Protocol 要素の Name 属性は OAuth1
に設定する必要があります。 たとえば、Twitter-OAUTH1 技術プロファイル用のプロトコルは OAuth1
です。
<TechnicalProfile Id="Twitter-OAUTH1">
<DisplayName>X</DisplayName>
<Protocol Name="OAuth1" />
...
入力クレーム
InputClaims と InputClaimsTransformations の要素は空であるか、存在しません。
出力クレーム
OutputClaims 要素には、OAuth1 ID プロバイダーにより返される要求の一覧が存在します。 お使いのポリシーに定義されている要求の名前を、ID プロバイダーで定義されている名前にマップする必要があるかもしれません。 DefaultValue 属性を設定している限り、ID プロバイダーにより返されない要求を追加することもできます。
OutputClaimsTransformations 要素には、出力要求を修正したり新しい要求を生成するために使用される、OutputClaimsTransformation 要素のコレクションが含まれている場合があります。
次の例は、X ID プロバイダーによって返される要求を示しています。
- issuerUserId 要求にマップされている user_id 要求。
- displayName 要求にマップされている screen_name 要求。
- どの名前にもマップされていない email 要求。
また、技術プロファイルは、ID プロバイダーにより返されない要求も返します。
- ID プロバイダーの名前を保持する identityProvider 要求。
- 既定値の
socialIdpAuthentication
である authenticationSource 要求。
<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 | はい | ID プロバイダーのアプリケーション識別子。 |
ProviderName | いいえ | ID プロバイダーの名前。 |
request_token_endpoint | はい | RFC 5849 に準拠した要求トークン エンドポイントの URL。 |
authorization_endpoint | はい | RFC 5849 に準拠した承認エンドポイントの URL。 |
access_token_endpoint | はい | RFC 5849 に準拠したトークン エンドポイントの URL。 |
ClaimsEndpoint | いいえ | ユーザー情報エンドポイントの URL。 |
ClaimsResponseFormat | いいえ | 要求応答の形式。 |
暗号化キー
CryptographicKeys 要素には次の属性が存在します。
属性 | 必須 | 説明 |
---|---|---|
client_secret | はい | ID プロバイダー アプリケーションのクライアント シークレット。 |
リダイレクト URI
ID プロバイダーのリダイレクト URI を構成する場合は、https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-id}/oauth1/authresp
を入力します。 {tenant-name}
をテナント名 (例: contosob2c) に置き換え、{policy-id}
をポリシーの識別子 (例: b2c_1_policy) に置き換える必要があります。 リダイレクト URI は、すべて小文字である必要があります。 ID プロバイダーのログインを使用するすべてのポリシーのために、リダイレクト URL を追加します。
例 :