次の方法で共有


一般的な要求変換

重要

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

この記事では、Azure Active Directory B2C (Azure AD B2C) カスタム ポリシーの一般的な要求変換を使用する例を示します。 詳細については、「要求変換」をご覧ください。

コピークレーム

要求の値を別の要求にコピーします。 両方の要求が同じ型である必要があります。 この要求変換のライブ デモをご覧ください。

要素 トランスフォーメーションクレームタイプ データ型 注記
インプットクレーム 入力クレーム string、int コピーする要求の種類。
出力要求 出力クレーム string、int この要求変換が呼び出された後に生成される要求。

この要求変換を使用して、文字列または数値の要求から別の要求に値をコピーします。 次の例では、externalEmail 要求の値を電子メール要求にコピーします。

<ClaimsTransformation Id="CopyEmailAddress" TransformationMethod="CopyClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="externalEmail" TransformationClaimType="inputClaim"/>
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="outputClaim"/>
  </OutputClaims>
</ClaimsTransformation>

CopyClaim の例

  • 入力要求:
    • inputClaim を使用します。 bob@contoso.com
  • 出力要求:
    • outputClaim: bob@contoso.com

DoesClaimExist (要求が存在する)

入力要求が存在するかどうかを確認し、それに応じて出力要求を true または false に設定します。 この要求変換のライブ デモをご覧ください。

要素 トランスフォーメーションクレームタイプ データ型 注記
インプットクレーム 入力クレーム [任意] 存在を確認する必要がある入力要求。
出力要求 出力クレーム ブーリアン この要求変換が呼び出された後に生成される要求。

DoesClaimExist の例

この要求変換を使用して、要求が存在するか、値が含まれているかどうかを確認します。 戻り値は、要求が存在するかどうかを示すブール値です。 次の例では、電子メール アドレスが存在するかどうかを確認します。

<ClaimsTransformation Id="CheckIfEmailPresent" TransformationMethod="DoesClaimExist">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="isEmailPresent" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • 入力要求:
    • inputClaim を使用します。 someone@contoso.com
  • 出力要求:
    • outputClaim: true です。

ハッシュ

salt とシークレットを使用して、指定されたプレーン テキストをハッシュします。 使用されるハッシュ アルゴリズムは SHA-256 です。 この要求変換のライブ デモをご覧ください。

要素 トランスフォーメーションクレームタイプ データ型 注記
インプットクレーム プレーン テキスト ひも 暗号化する入力要求
インプットクレーム ひも salt パラメーター。 CreateRandomString要求変換を使用して、ランダムな値を作成できます。
入力パラメータ ランダマイザーシークレット ひも 既存の Azure AD B2C ポリシー キーをポイントします。 新しいポリシー キーを作成するには:Azure AD B2C テナントの [ 管理] で、[ Identity Experience Framework] を選択します。 [ポリシー キー] を選択して、テナントで使用できるキーを表示します。 [] を選択し、[] を追加します。 [オプション] で、[手動] を選択します。 名前を指定します (プレフィックス B2C_1A_ は自動的に追加される場合があります)。 [ シークレット ] テキスト ボックスに、使用するシークレット (1234567890など) を入力します。 [キー使用法] には [署名] を選択します。 を選択してを作成します。
出力要求 ハッシュ ひも この要求変換が呼び出された後に生成される要求。 plaintext inputClaim で構成された要求。

ハッシュの例

次の例では、メール アドレスをハッシュする方法を示します。 要求変換は、値をハッシュする前に電子メール アドレスに salt を追加します。 この要求変換を呼び出すには、 mySalt 要求に値を設定します。

<ClaimsTransformation Id="HashPasswordWithEmail" TransformationMethod="Hash">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="plaintext" />
    <InputClaim ClaimTypeReferenceId="mySalt" TransformationClaimType="salt" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="randomizerSecret" DataType="string" Value="B2C_1A_AccountTransformSecret" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="hashedEmail" TransformationClaimType="hash" />
  </OutputClaims>
</ClaimsTransformation>
  • 入力要求:
    • プレーンテキスト: someone@contoso.com
    • :487624568
    • randomizerSecret: B2C_1A_AccountTransformSecret
  • 出力要求:
    • 出力クレーム: CdMNb/KTEfsWzh9MR1kQGRZCKjuxGMWhA5YQNihzV6U=

次のステップ

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