次の方法で共有


一般要求変換

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

CopyClaim

要求の値を別の要求へコピーします。 どちらの要求も、同じ型から派生している必要があります。 この要求変換のライブ デモをご覧ください。

要素 TransformationClaimType データ型 Notes
InputClaim inputClaim string、int コピーする要求の種類。
OutputClaim outputClaim 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 に設定します。 この要求変換のライブ デモをご覧ください。

要素 TransformationClaimType データ型 Notes
InputClaim inputClaim Any 存在を確認する必要のある入力要求。
OutputClaim outputClaim boolean この要求変換が呼び出された後に生成される要求。

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 と secret を使用して、提供されたプレーン テキストをハッシュします。 使用されるハッシュ アルゴリズムは SHA-256 です。 この要求変換のライブ デモをご覧ください。

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

ハッシュの例

次の例は、メール アドレスをハッシュする方法を示しています。 この要求変換では、値をハッシュする前にメール アドレスにソルトが追加されます。 この要求変換を呼び出すには、値を 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>
  • 入力要求:
    • plaintext: someone@contoso.com
    • salt: 487624568
    • randomizerSecret: B2C_1A_AccountTransformSecret
  • 出力要求:
    • outputClaim: CdMNb/KTEfsWzh9MR1kQGRZCKjuxGMWhA5YQNihzV6U=

次の手順

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