Azure Active Directory B2C カスタム ポリシーで電話要素技術プロファイルを定義する

重要

2025 年 5 月 1 日より、Azure AD B2C は新規のお客様向けに購入できなくなります。 詳細については、FAQ を参照してください。

注

Azure Active Directory B2C で、カスタム ポリシーは、主に、複雑なシナリオに取り組む用途向けに設計されています。 ほとんどのシナリオで、組み込みユーザー フローを使用することをお勧めします。 まだ行っていない場合は、Active Directory B2C でのカスタム ポリシーの概要に関する記事で、カスタム ポリシー スターター パックの詳細を確認してください。

Azure Active Directory B2C (Azure AD B2C) では、電話番号の登録と確認がサポートされています。 この技術プロファイル:

  • ユーザーと対話して確認したり、電話番号を登録したりするユーザー インターフェイスを提供します。
  • 電話番号を検証するための電話とテキスト メッセージをサポートします。
  • 複数の電話番号をサポートします。 ユーザーは、確認する電話番号のいずれかを選択できます。
  • ユーザーが新しい電話番号を指定したかどうかを示す要求を返します。 この要求を使用して、電話番号を Azure AD B2C ユーザー プロファイルに保持するかどうかを決定できます。
  • コンテンツ定義を使用して外観を制御します。

プロトコル

Protocol 要素の Name 属性は Proprietary に設定する必要があります。 ハンドラー属性には、電話要素として Azure AD B2C によって使用されるプロトコル ハンドラー アセンブリの完全修飾名が含まれている必要があります。Web.TPEngine.Providers.PhoneFactorProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

次の例は、登録と検証の電話要素技術プロファイルを示しています。

<TechnicalProfile Id="PhoneFactor-InputOrVerify">
  <DisplayName>PhoneFactor</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.PhoneFactorProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</TechnicalProfile>

入力要求変換

InputClaimsTransformations 要素には、入力要求の変更または新しい要求の生成に使用される入力要求変換のコレクションが含まれている場合があります。 次の入力要求変換では、入力要求コレクションの後半で使用される UserId 要求が生成されます。

<InputClaimsTransformations>
  <InputClaimsTransformation ReferenceId="CreateUserIdForMFA" />
</InputClaimsTransformations>

入力クレーム

InputClaims 要素には、次の要求が含まれている必要があります。 要求の名前を、電話要素技術プロファイルで定義されている名前にマップすることもできます。

データの種類 必須 説明
ひも イエス ユーザーの一意識別子。 要求名または PartnerClaimType を UserIdに設定する必要があります。 この要求には、個人を特定できる情報を含めてはなりません。
ひも イエス 要求の種類の一覧。 各要求には、1 つの電話番号が含まれています。 入力要求に電話番号が含まれていない場合、ユーザーは新しい電話番号を登録して確認するように求められます。 検証済みの電話番号が出力要求として返されます。 入力要求の 1 つに電話番号が含まれている場合は、ユーザーに確認を求められます。 複数の入力要求に電話番号が含まれている場合、ユーザーはいずれかの電話番号を選択して確認するように求められます。

次の例では、複数の電話番号を使用する方法を示します。 詳細については、 サンプル ポリシーを参照してください。

<InputClaims>
  <InputClaim ClaimTypeReferenceId="userIdForMFA" PartnerClaimType="UserId" />
  <InputClaim ClaimTypeReferenceId="strongAuthenticationPhoneNumber" />
  <InputClaim ClaimTypeReferenceId="secondaryStrongAuthenticationPhoneNumber" />
</InputClaims>

出力クレーム

OutputClaims 要素には、電話要素技術プロファイルによって返される要求の一覧が含まれています。

データの種類 必須 説明
ブーリアン イエス ユーザーが新しい電話番号を入力したかどうかを示します。 要求名または PartnerClaimType を次のように設定する必要があります。 newPhoneNumberEntered
ひも イエス 確認済みの電話番号。 要求名または PartnerClaimType を Verified.OfficePhoneに設定する必要があります。

OutputClaimsTransformations 要素には、出力要求の変更または新しい要求の生成に使用される OutputClaimsTransformation 要素のコレクションを含めることができます。

暗号化キー

CryptographicKeys 要素は使用されません。

メタデータ

特性 必須 説明
コンテンツ定義参照ID イエス この技術プロファイルに関連付けられている コンテンツ定義 の識別子。
ManualPhoneNumberEntryAllowed いいえ ユーザーが電話番号を手動で入力できるかどうかを指定します。 指定できる値: true または false (既定値)。
設定.authenticationMode いいえ 電話番号を検証するメソッド。 使用可能な値: sms、 phone、または mixed (既定値)。
設定.autodial いいえ 技術プロファイルで SMS を自動ダイヤルするか自動送信するかを指定します。 指定できる値: true または false (既定値)。 自動ダイヤルでは、 setting.authenticationMode メタデータを smsまたは phoneに設定する必要があります。 入力要求コレクションには、1 つの電話番号が必要です。
設定.autosubmit いいえ 技術プロファイルでワンタイム パスワード入力フォームを自動送信するかどうかを指定します。 使用できる値は、 true (既定値)、または falseです。 自動送信がオフになっている場合、ユーザーはボタンを選択して体験を進める必要があります。
setting.enableCaptchaChallenge いいえ CAPTCHA チャレンジ コードを MFA フローに表示するかどうかを指定します。 使用可能な値: true 、または false (既定値)。 この設定を機能させるには、 CAPTCHA 表示コントロール を電話要素技術プロファイルの表示要求で参照する必要があります。 CAPTCHA 機能 は パブリック プレビュー段階です。

UI 要素

電話要素認証ページのユーザー インターフェイス要素を ローカライズできます。

次のステップ