重要
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 リポジトリをご覧ください