次の方法で共有


整数要求変換

重要

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

この記事では、Azure Active Directory B2C (Azure AD B2C) で Identity Experience Framework スキーマの整数要求変換を使用する例を示します。 詳細については、「 ClaimsTransformations」を参照してください。

アジャストナンバー

数値要求を増減し、新しい要求を返します。 この要求変換のライブ デモをご覧ください。

要素 トランスフォーメーションクレームタイプ データ型 注記
インプットクレーム 入力クレーム 整数 (int) 要求の種類。増減する数が含まれます。 inputClaim要求値が null の場合、既定値の 0 が使用されます。
入力パラメータ オペレーター ひも 指定できる値は INCREMENT(既定値) またはDECREMENTです。
出力要求 出力クレーム 整数 (int) この要求変換が呼び出された後に生成される要求の種類。

AdjustNumber の例

この要求変換を使用して、数値の要求値を増減します。 次の要求変換では、数値の要求値が増加します。

<ClaimsTransformation Id="UpdateSteps" TransformationMethod="AdjustNumber">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="steps" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="Operator" DataType="string" Value="INCREMENT" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="steps" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • 入力要求:
    • inputClaim: 1
  • 入力パラメーター:
    • 演算子: INCREMENT
  • 出力要求:
    • outputClaim: 2

Null 値を持つ AdjustNumber の例

入力要求が null の場合、出力要求は 1 になります。

  • 入力要求:
    • inputClaim: NULL です。
  • 入力パラメーター:
    • 演算子: INCREMENT
  • 出力要求:
    • outputClaim: 1

アサート番号

数値要求が数値の大きい、小さい、等しい、または等しくないかどうかを判断します。 この要求変換のライブ デモをご覧ください。

要素 トランスフォーメーションクレームタイプ データ型 注記
インプットクレーム 入力クレーム 整数 (int) 2 番目の数値より大きい、小さい、等しい、または等しくないかどうかを比較する最初の数値要求。 Null 値の場合は例外がスローされます。
入力パラメータ 値の比較 整数 (int) 最初の数値より大きい、小さい、等しい、または等しくないかどうかを比較する 2 番目の数値。
入力パラメータ オペレーター ひも 有効な値: LessThanGreaterThanGreaterThanOrEqualLessThanOrEqualEqualNotEqual
入力パラメータ スローエラー ブーリアン 比較結果が true場合に、このアサーションでエラーをスローするかどうかを指定します。 指定できる値は true(既定値) またはfalseです。
 
true (アサーション モード) に設定され、比較結果がtrueされると、例外がスローされます。 false (評価モード) に設定すると、結果は値が true または false の新しいブール値要求の種類になります。
出力要求 出力クレーム ブーリアン ThrowErrorfalse に設定されている場合、この出力要求には、比較結果に従ってtrueまたはfalseが含まれます。

アサーション モード

入力パラメーターthrowErrortrue (既定値) の場合、AssertNumber 要求変換は、セルフアサート技術プロファイルによって呼び出される検証技術プロファイルから常に実行されます。

AssertNumberError セルフアサート技術プロファイル メタデータは、技術プロファイルがユーザーに提示するエラー メッセージを制御します。 エラー メッセージは、ローカライズできます。

<TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
  <Metadata>
    <Item Key="AssertNumberError">You've reached the maximum logon attempts</Item>
  </Metadata>
  ...
</TechnicalProfile>

アサーション モードで要求変換を呼び出す方法の詳細については、「 AssertStringClaimsAreEqualAssertBooleanClaimIsEqualToValueAssertDateTimeIsGreaterThan 要求変換」を参照してください。

AssertNumber の例

次の例では、試行回数が 5 回を超えているとアサートします。 要求変換では、比較結果に従ってエラーがスローされます。

<ClaimsTransformation Id="isOverLimit" TransformationMethod="AssertNumber">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="attempts" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="Operator" DataType="string" Value="GreaterThan" />
    <InputParameter Id="CompareToValue" DataType="int" Value="5" />
    <InputParameter Id="throwError" DataType="boolean" Value="true" />
  </InputParameters>
</ClaimsTransformation>
  • 入力要求:
    • inputClaim: 10
  • 入力パラメーター:
    • 演算子: GreaterThan
    • CompareToValue: 5
    • throwError: true
  • 結果:エラーがスローされます

AssertNumber 評価モードの例

次の例では、試行回数が 5 回を超えているかどうかを評価します。 出力要求には、比較結果に従ったブール値が含まれています。 要求変換はエラーをスローしません。

<ClaimsTransformation Id="isOverLimit" TransformationMethod="AssertNumber">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="attempts" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="Operator" DataType="string" Value="GreaterThan" />
    <InputParameter Id="CompareToValue" DataType="int" Value="5" />
    <InputParameter Id="throwError" DataType="boolean" Value="false" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="attemptsCountExceeded" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • 入力要求:
    • inputClaim: 10
  • 入力パラメーター:
    • 演算子: GreaterThan
    • CompareToValue: 5
    • throwError: 偽の場合
  • 出力要求:
    • outputClaim: true です。

ConvertNumberToStringClaim(コンバート番号からストリングクレーム)

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

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

ConvertNumberToStringClaim の例

この例では、値型が long の numericUserId 要求は、値型が文字列の UserId 要求に変換されます。

<ClaimsTransformation Id="CreateUserId" TransformationMethod="ConvertNumberToStringClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="UserId" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • 入力要求:
    • inputClaim: 12334 (長い)
  • 出力要求:
    • outputClaim: "12334" (文字列)

次のステップ

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