整数要求変換
この記事では、Azure Active Directory B2C (Azure AD B2C) の Identity Experience Framework スキーマの整数要求変換の使用例を示します。 詳細については、「ClaimsTransformations」を参照してください。
AdjustNumber
数値要求を増減し、新しい要求を返します。 この要求変換のライブ デモをご覧ください。
要素 | TransformationClaimType | データ型 | Notes |
---|---|---|---|
InputClaim | inputClaim | INT | 増減する数が含まれる要求の種類。
inputClaim 要求値が null の場合、既定値の 0 が使用されます。 |
InputParameter | 演算子 | string | 指定できる値は INCREMENT (既定値) またはDECREMENT です。 |
OutputClaim | outputClaim | 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
- 入力パラメーター:
- Operator: INCREMENT
- 出力要求:
- outputClaim: 2
null 値を使用した AdjustNumber の例
入力要求が null の場合、出力要求は 1 になります。
- 入力要求:
- inputClaim: NULL
- 入力パラメーター:
- Operator: INCREMENT
- 出力要求:
- outputClaim: 1
AssertNumber
数値と比較して数値要求が大きいか、小さいか、等しいか、等しくないかを判断します。 この要求変換のライブ デモをご覧ください。
要素 | TransformationClaimType | データ型 | Notes |
---|---|---|---|
InputClaim | inputClaim | INT | 2 番目の数値と比較して大きいか、小さいか、等しいか、または等しくないかを比較する 1 番目の数値要求。 Null 値の場合は例外がスローされます。 |
InputParameter | CompareToValue | INT | 1 番目の数値と比較して大きいか、小さいか、等しいか、または等しくないかを比較する 2 番目の数値。 |
InputParameter | 演算子 | string | 指定できる値: LessThan 、GreaterThan 、GreaterThanOrEqual 、LessThanOrEqual 、Equal 、NotEqual 。 |
InputParameter | throwError | boolean | 比較結果が true の場合に、このアサーションでエラーをスローする必要があるかどうかを指定します。 指定できる値は true (既定値) またはfalse です。 true に設定すると (アサーション モード)、比較結果が true の場合、例外がスローされます。
false に設定すると (評価モード)、結果は、値が true または false の新しいブール型の要求の種類になります。 |
OutputClaim | outputClaim | boolean |
ThrowError が false に設定されている場合、この出力要求には、比較結果に従って、true または false が含まれます。 |
アサーション モード
throwError
入力パラメーターが true
(既定値) のときは、AssertNumber 要求変換は常に、セルフアサート技術プロファイルによって呼び出される検証技術プロファイル から実行されます。
AssertNumberError セルフアサート技術プロファイル メタデータでは、技術プロファイルによってユーザーに表示されるエラー メッセージが制御されます。 エラー メッセージは、ローカライズできます。
<TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
<Metadata>
<Item Key="AssertNumberError">You've reached the maximum logon attempts</Item>
</Metadata>
...
</TechnicalProfile>
アサーション モードで要求変換を呼び出す方法の詳細については、「AssertStringClaimsAreEqual」、「AssertBooleanClaimIsEqualToValue」、「AssertDateTimeIsGreaterThan」の各要求変換を参照してください。
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
- 入力パラメーター:
- Operator: 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
- 入力パラメーター:
- Operator: GreaterThan
- CompareToValue: 5
- throwError: false
- 出力要求:
- outputClaim: true
ConvertNumberToStringClaim
long データ型を string データ型に変換します。 この要求変換のライブ デモをご覧ください。
要素 | TransformationClaimType | データ型 | Notes |
---|---|---|---|
InputClaim | inputClaim | long | 文字列に変換する要求の種類。 |
OutputClaim | outputClaim | string | この要求変換が呼び出された後に生成される要求の種類。 |
ConvertNumberToStringClaim の例
この例では、値の型が long の numericUserId
要求は、値の型が string の UserId
要求に変換されます。
<ClaimsTransformation Id="CreateUserId" TransformationMethod="ConvertNumberToStringClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="UserId" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- 入力要求:
- inputClaim:12334 (long)
- 出力要求:
- outputClaim:"12334" (string)
次の手順
- その他の要求変換のサンプルについては、Azure AD B2C コミュニティの GitHub リポジトリをご覧ください