ブール値要求変換
この記事では、Azure Active Directory B2C (Azure AD B2C) の Identity Experience Framework スキーマのブール値要求変換の使用例を示します。 詳細については、「ClaimsTransformations」を参照してください。
AndClaims
2 つのブール値入力要求の And
演算を実行し、演算の結果で出力要求を設定します。 この要求変換のライブ デモをご覧ください。
要素 | TransformationClaimType | データ型 | Notes |
---|---|---|---|
InputClaim | inputClaim1 | boolean | 評価する最初の要求。 |
InputClaim | inputClaim2 | boolean | 評価する 2 番目の要求。 |
OutputClaim | outputClaim | boolean | この要求変換が呼び出された後に生成される要求 (true または false)。 |
Analytics の例
次の要求変換は、2 つのブール値要求 (isEmailNotExist
と isSocialAccount
) を And
演算する方法を示しています。 両方の入力要求の値が true
である場合、出力要求 presentEmailSelfAsserted
は true
に設定されます。
<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="AndClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="isEmailNotExist" TransformationClaimType="inputClaim1" />
<InputClaim ClaimTypeReferenceId="isSocialAccount" TransformationClaimType="inputClaim2" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="presentEmailSelfAsserted" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- 入力要求:
- inputClaim1: true
- inputClaim2: false
- 出力要求:
- outputClaim: false
AssertBooleanClaimIsEqualToValue
2 つの要求のブール値が等しいことをチェックし、等しくない場合は例外をスローします。 この要求変換のライブ デモをご覧ください。
要素 | TransformationClaimType | データ型 | Notes |
---|---|---|---|
inputClaim | inputClaim | boolean | チェックする要求。 |
InputParameter | valueToCompareTo | boolean | 比較される値 (true または false)。 |
AssertBooleanClaimIsEqualToValue 要求変換は、セルフアサート技術プロファイルによって呼び出される検証技術プロファイルから常に実行する必要があります。 UserMessageIfClaimsTransformationBooleanValueIsNotEqual セルフアサート技術プロファイル メタデータにより、技術プロファイルによってユーザーに表示されるエラー メッセージが制御されます。 エラー メッセージは、ローカライズできます。
AssertBooleanClaimIsEqualToValue の例
次の要求変換は、true
値でブール値要求の値をチェックする方法を示しています。
accountEnabled
要求の値が false の場合、エラー メッセージがスローされます。
<ClaimsTransformation Id="AssertAccountEnabledIsTrue" TransformationMethod="AssertBooleanClaimIsEqualToValue">
<InputClaims>
<InputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="inputClaim" />
</InputClaims>
<InputParameters>
<InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
</InputParameters>
</ClaimsTransformation>
- 入力要求:
- inputClaim: false
- valueToCompareTo: true
- 結果:エラーがスローされます
AssertBooleanClaimIsEqualToValue 要求変換の呼び出し
次の Example-AssertBoolean
検証技術プロファイルで、AssertAccountEnabledIsTrue
要求変換を呼び出します。
<TechnicalProfile Id="Example-AssertBoolean">
<DisplayName>Unit test</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.ClaimsTransformationProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="ComparisonResult" DefaultValue="false" />
</OutputClaims>
<OutputClaimsTransformations>
<OutputClaimsTransformation ReferenceId="AssertAccountEnabledIsTrue" />
</OutputClaimsTransformations>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
</TechnicalProfile>
セルフアサート技術プロファイルで、Example-AssertBoolean
技術プロファイルを呼び出します。
<TechnicalProfile Id="SelfAsserted-AssertDateTimeIsGreaterThan">
<DisplayName>Example</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="ContentDefinitionReferenceId">api.selfasserted</Item>
<Item Key="UserMessageIfClaimsTransformationBooleanValueIsNotEqual">Custom error message if account is disabled.</Item>
</Metadata>
...
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="Example-AssertBoolean" />
</ValidationTechnicalProfiles>
</TechnicalProfile>
CompareBooleanClaimToValue
要求のブール値が true
または false
と等しいことを確認して、圧縮の結果を返します。 この要求変換のライブ デモをご覧ください。
要素 | TransformationClaimType | データ型 | Notes |
---|---|---|---|
InputClaim | inputClaim | boolean | 比較する要求。 |
InputParameter | valueToCompareTo | boolean | 比較される値 (true または false)。 |
OutputClaim | compareResult | boolean | この要求変換が呼び出された後に生成される要求。 |
CompareBooleanClaimToValue の例
次の要求変換は、true
値でブール値要求の値をチェックする方法を示しています。 この要求変換では、IsAgeOver21Years
要求の値が true
と等しい場合は true
を返し、それ以外の場合は false
を返します。
<ClaimsTransformation Id="AssertAccountEnabled" TransformationMethod="CompareBooleanClaimToValue">
<InputClaims>
<InputClaim ClaimTypeReferenceId="IsAgeOver21Years" TransformationClaimType="inputClaim" />
</InputClaims>
<InputParameters>
<InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="compareResult"/>
</OutputClaims>
</ClaimsTransformation>
- 入力要求:
- inputClaim: false
- 入力パラメーター:
- valueToCompareTo: true
- 出力要求:
- compareResult: false
NotClaims
ブール値入力要求の Not
演算を実行し、演算の結果で出力要求を設定します。 この要求変換のライブ デモをご覧ください。
要素 | TransformationClaimType | データ型 | Notes |
---|---|---|---|
InputClaim | inputClaim | boolean | 演算処理される要求。 |
OutputClaim | outputClaim | boolean | この要求変換が呼び出された後に生成される要求 (true または false)。 |
NotClaims の例
次の要求変換は、要求に対して論理否定を実行する方法を示しています。
<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="NotClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- 入力要求:
- inputClaim: false
- 出力要求:
- outputClaim: true
OrClaims
2 つのブール値要求の Or
演算を実行し、演算の結果で出力要求を設定します。 この要求変換のライブ デモをご覧ください。
要素 | TransformationClaimType | データ型 | Notes |
---|---|---|---|
InputClaim | inputClaim1 | boolean | 評価する最初の要求。 |
InputClaim | inputClaim2 | boolean | 評価する 2 番目の要求。 |
OutputClaim | outputClaim | boolean | この要求変換が呼び出された後に生成される要求 (true または false)。 |
OrClaims の例
次の要求変換は、2 つのブール値要求の Or
演算を実行する方法を示しています。
<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="OrClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="isLastTOSAcceptedNotExists" TransformationClaimType="inputClaim1" />
<InputClaim ClaimTypeReferenceId="isLastTOSAcceptedGreaterThanNow" TransformationClaimType="inputClaim2" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="presentTOSSelfAsserted" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- 入力要求:
- inputClaim1: true
- inputClaim2: false
- 出力要求:
- outputClaim: true
次の手順
- その他の要求変換のサンプルについては、Azure AD B2C コミュニティの GitHub リポジトリをご覧ください