次の方法で共有


Azure AD B2C で電話番号要求変換を定義する

重要

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

この記事では、Azure Active Directory B2C (Azure AD B2C) カスタム ポリシーで電話番号要求変換を使用するためのリファレンスと例を示します。 一般的な要求変換の詳細については、「 ClaimsTransformations」を参照してください。

この機能はパブリック プレビュー段階にあります。

ConvertPhoneNumberClaimToString (電話番号請求請求文字列)

phoneNumberデータ型をstringデータ型に変換します。 この要求変換のライブ デモをご覧ください。

要素 トランスフォーメーションクレームタイプ データ型 注記
インプットクレーム 電話番号 電話番号 文字列に変換する要求。
出力要求 電話番号文字列 ひも この要求変換が呼び出された後に生成される要求。

ConvertPhoneNumberClaimToString の例

この例では、 phoneNumber の値型を持つ cellPhoneNumber 要求は、値型が string の cellPhone 要求に変換されます。

<ClaimsTransformation Id="PhoneNumberToString" TransformationMethod="ConvertPhoneNumberClaimToString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="cellPhoneNumber" TransformationClaimType="phoneNumber" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="cellPhone" TransformationClaimType="phoneNumberString" />
  </OutputClaims>
</ClaimsTransformation>
  • 入力要求:
    • 電話番号: +11234567890 (電話番号)
  • 出力要求:
    • phoneNumberString: +11234567890 (文字列)

ConvertStringToPhoneNumberClaim

電話番号の形式を検証します。 有効な場合は、Azure AD B2C で使用される標準形式に変更します。 指定された電話番号が有効な形式でない場合は、エラー メッセージが返されます。 この要求変換のライブ デモをご覧ください。

要素 トランスフォーメーションクレームタイプ データ型 注記
インプットクレーム 電話番号文字列 ひも 電話番号の文字列要求。 電話番号は国際形式である必要があり、先頭に "+" と国/地域コードが付きます。 入力要求 country が指定されている場合、電話番号はローカル形式 (国/地域コードなし) になります。
インプットクレーム ひも [省略可能]ISO3166形式の電話番号の国/地域コードの文字列要求 (2 文字の ISO-3166 国/地域コード)。
出力要求 出力クレーム 電話番号 この要求変換の結果。

ConvertStringToPhoneNumberClaim 要求変換は、セルフアサート技術プロファイルまたは表示コントロールによって呼び出される検証技術プロファイルから常に実行されます。 UserMessageIfClaimsTransformationInvalidPhoneNumber セルフアサート技術プロファイル メタデータは、ユーザーに表示されるエラー メッセージを制御します。

エラー メッセージ実行パスの図

ConvertStringToPhoneNumberClaim の例

次の例では、 phoneString 要求が実際に有効な電話番号であることを確認し、標準の Azure AD B2C 形式で電話番号を返します。 それ以外の場合は、エラー メッセージがスローされます。

<ClaimsTransformation Id="ConvertStringToPhoneNumber" TransformationMethod="ConvertStringToPhoneNumberClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="phoneString" TransformationClaimType="phoneNumberString" />
    <InputClaim ClaimTypeReferenceId="countryCode" TransformationClaimType="country" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="phoneNumber" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • 入力要求:
    • 電話番号文字列: 033 456-7890
    • 国名:DK
  • 出力要求:
    • outputClaim: +450334567890

国コード要求のない ConvertStringToPhoneNumberClaim の例

要求変換のこのモードの ライブ デモ を確認してください。

  • 入力要求:
    • 電話番号文字列: +1 (123) 456-7890
  • 出力要求:
    • outputClaim: +11234567890

ConvertStringToPhoneNumberClaim 要求変換の呼び出し

この要求変換を含む検証技術プロファイルを呼び出すセルフアサート技術プロファイルは、エラー メッセージを定義できます。

<TechnicalProfile Id="SelfAsserted-LocalAccountSignUp-Phone">
  <Metadata>
    <Item Key="UserMessageIfClaimsTransformationInvalidPhoneNumber">Custom error message if the phone number is not valid.</Item>
  </Metadata>
  ...
</TechnicalProfile>

GetNationalNumberAndCountryCodeFromPhoneNumberString (英語)

入力要求から国/地域コードと国番号を抽出し、指定された電話番号が有効でない場合は、必要に応じて例外をスローします。 この要求変換のライブ デモをご覧ください。

要素 トランスフォーメーションクレームタイプ データ型 注記
インプットクレーム 電話番号 ひも 電話番号の文字列要求。 電話番号は国際形式である必要があり、先頭に "+" と国/地域コードが付きます。
入力パラメータ throwExceptionOnFailure (失敗のスロー) ブーリアン [省略可能]電話番号が無効な場合に例外がスローされるかどうかを示すパラメーター。 既定値は false です。
入力パラメータ countryCodeType (国コードタイプ) ひも [省略可能]出力要求の国/地域コードの種類を示すパラメーター。 使用可能な値は 、CallingCode (国/地域の国際通話コード (+1 など) または ISO3166 (2 文字の ISO-3166 国/地域コード) です。
出力要求 ナショナルナンバー ひも 電話番号の国番号の文字列要求。
出力要求 countryCode (国コード) ひも 電話番号の国/地域コードの文字列要求。

GetNationalNumberAndCountryCodeFromPhoneNumberString 要求変換が、セルフアサート技術プロファイルまたは表示コントロール アクションによって呼び出される検証技術プロファイルから実行される場合、UserMessageIfPhoneNumberParseFailure セルフアサート技術プロファイル メタデータによって、ユーザーに表示されるエラー メッセージが制御されます。

エラー メッセージ実行パスの図

この要求変換を使用して、完全な電話番号を国/地域コードと国番号に分割できます。 指定された電話番号が有効でない場合は、エラー メッセージをスローすることを選択できます。

GetNationalNumberAndCountryCodeFromPhoneNumberString の例

次の例では、電話番号を国番号と国/地域コードに分割しようとします。 電話番号が有効な場合、電話番号は国番号で上書きされます。 電話番号が有効でない場合、例外はスローされず、電話番号には元の値が残ります。

<ClaimsTransformation Id="GetNationalNumberAndCountryCodeFromPhoneNumberString" TransformationMethod="GetNationalNumberAndCountryCodeFromPhoneNumberString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="phoneNumber" TransformationClaimType="phoneNumber" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="throwExceptionOnFailure" DataType="boolean" Value="false" />
    <InputParameter Id="countryCodeType" DataType="string" Value="ISO3166" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="nationalNumber" TransformationClaimType="nationalNumber" />
    <OutputClaim ClaimTypeReferenceId="countryCode" TransformationClaimType="countryCode" />
  </OutputClaims>
</ClaimsTransformation>
  • 入力要求:
    • 電話番号: +49 (123) 456-7890
  • 入力パラメーター:
    • throwExceptionOnFailure: 偽の場合
    • countryCodeType: ISO3166
  • 出力要求:
    • 国民番号: 1234567890
    • countryCode: DE

CallingCode パラメーターを持つ GetNationalNumberAndCountryCodeFromPhoneNumberString の例

次の例では、電話番号を国番号と国の通話コードに分割しようとします。

<ClaimsTransformation Id="GetNationalNumberAndCountryCodeFromPhoneNumberString" TransformationMethod="GetNationalNumberAndCountryCodeFromPhoneNumberString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="phoneNumber" TransformationClaimType="phoneNumber" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="throwExceptionOnFailure" DataType="boolean" Value="false" />
    <InputParameter Id="countryCodeType" DataType="string" Value="CallingCode" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="nationalNumber" TransformationClaimType="nationalNumber" />
    <OutputClaim ClaimTypeReferenceId="countryCode" TransformationClaimType="countryCode" />
  </OutputClaims>
</ClaimsTransformation>
  • 入力要求:
    • 電話番号: +49 (123) 456-7890
  • 入力パラメーター
    • throwExceptionOnFailure: 偽の場合
    • countryCodeType: CallingCode (国コード)
  • 出力要求:
    • 国民番号: 1234567890
    • 国コード: +49

GetNationalNumberAndCountryCodeFromPhoneNumberString 要求変換の呼び出し

この要求変換を含む検証技術プロファイルを呼び出すセルフアサート技術プロファイルは、エラー メッセージを定義できます。

<TechnicalProfile Id="SelfAsserted-LocalAccountSignup-Phone">
  <Metadata>
    <Item Key="UserMessageIfPhoneNumberParseFailure">Custom error message if the phone number is not valid.</Item>
  </Metadata>
  ...
</TechnicalProfile>

次のステップ

  • その他の要求変換のサンプルについては、Azure AD B2C コミュニティの GitHub リポジトリをご覧ください