부울 클레임 변환
이 문서에서는 Azure AD B2C(Active Directory B2C) 내 ID 경험 프레임워크 스키마의 부울 클레임 변환 사용을 위한 예제를 제공합니다. 자세한 내용은 클레임 변환을 참조하세요.
AndClaims
두 부울 입력 클레임의 And
연산을 계산하고 연산 결과를 사용하여 출력 클레임을 설정합니다. 이 클레임 변환의 라이브 데모를 확인하세요.
요소 | TransformationClaimType | 데이터 형식 | 메모 |
---|---|---|---|
InputClaim | inputClaim1 | boolean | 평가할 첫 번째 클레임입니다. |
InputClaim | inputClaim2 | boolean | 평가할 두 번째 클레임입니다. |
OutputClaim | outputClaim | boolean | 이 클레임 변환을 호출하고 나면 생성되는 클레임(true 또는 false)입니다. |
AndClaims의 예
다음 클레임 변환은 두 부울 클레임(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
두 클레임의 부울 값이 같은지 확인하고 같지 않으면 예외를 throw합니다. 이 클레임 변환의 라이브 데모를 확인하세요.
요소 | TransformationClaimType | 데이터 형식 | 메모 |
---|---|---|---|
inputClaim | inputClaim | boolean | 확인할 클레임입니다. |
InputParameter | valueToCompareTo | boolean | 비교할 값(true 또는 false)입니다. |
AssertBooleanClaimIsEqualToValue 클레임 변환은 항상 자체 어설션된 기술 프로필을 통해 호출되는 유효성 검사 기술 프로필에서 실행됩니다. UserMessageIfClaimsTransformationBooleanValueIsNotEqual 자체 어설션된 기술 프로필 메타데이터는 기술 프로필이 사용자에게 표시하는 오류 메시지를 제어합니다. 오류 메시지는 지역화될 수 있습니다.
AssertBooleanClaimIsEqualToValue의 예
다음 클레임 변환은 true
값을 사용하여 부울 클레임의 값을 확인하는 방법을 보여 줍니다.
accountEnabled
클레임의 값이 false이면 오류 메시지가 throw됩니다.
<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
- 결과: 오류가 throw됨
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 | 데이터 형식 | 메모 |
---|---|---|---|
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 | 데이터 형식 | 메모 |
---|---|---|---|
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
두 부울 입력 클레임의 Or
을 계산하고 연산 결과를 사용하여 출력 클레임을 설정합니다. 이 클레임 변환의 라이브 데모를 확인하세요.
요소 | TransformationClaimType | 데이터 형식 | 메모 |
---|---|---|---|
InputClaim | inputClaim1 | boolean | 평가할 첫 번째 클레임입니다. |
InputClaim | inputClaim2 | boolean | 평가할 두 번째 클레임입니다. |
OutputClaim | outputClaim | boolean | 이 클레임 변환을 호출하고 나면 생성되는 클레임(true 또는 false)입니다. |
OrClaims의 예
다음 클레임 변환은 두 부울 클레임의 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 리포지토리에서 더 많은 클레임 변환 샘플 찾기