다음을 통해 공유


StringCollection 클레임 변환

이 문서에서는 Azure Active Directory B2C(Azure AD B2C)에서 Identity Experience Framework 스키마의 문자열 컬렉션 클레임 변환을 사용하는 예제를 제공합니다. 자세한 내용은 클레임 변환을 참조하세요.

AddItemToStringCollection

새 고유 값 stringCollection 클레임에 문자열 클레임을 추가합니다. 이 클레임 변환의 라이브 데모를 확인하세요.

요소 TransformationClaimType 데이터 형식 메모
InputClaim 요소 문자열 출력 클레임에 추가할 ClaimType입니다.
InputClaim collection stringCollection 출력 클레임에 추가할 문자열 컬렉션입니다. 컬렉션에 항목이 포함된 경우 클레임 변환은 항목을 복사하고 출력 컬렉션 클레임 끝에 항목을 추가합니다.
OutputClaim collection stringCollection 입력 클레임에 지정된 값을 사용하여 이 클레임 변환이 호출된 후 생성된 ClaimType입니다.

신규 또는 기존 stringCollection에 문자열을 추가하려면 이 클레임 변환을 사용합니다. 이 클레임 변환은 일반적으로 AAD-UserWriteUsingAlternativeSecurityId 기술 프로필에서 사용됩니다. 새 소셜 계정을 만들기 전에 CreateOtherMailsFromEmail 클레임 변환은 ClaimType을 읽고 값을 otherMails ClaimType에 추가합니다.

AddItemToStringCollection의 예

다음 클레임 변환에서는 email ClaimType을 otherMails ClaimType에 추가합니다.

<ClaimsTransformation Id="CreateOtherMailsFromEmail" TransformationMethod="AddItemToStringCollection">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="item" />
    <InputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
  </OutputClaims>
</ClaimsTransformation>
  • 입력 클레임:
    • collection: ["someone@outlook.com"]
    • item: "admin@contoso.com"
  • 출력 클레임:
    • collection: ["someone@outlook.com", "admin@contoso.com"]

AddParameterToStringCollection

새 고유 값 stringCollection 클레임에 문자열 매개 변수를 추가합니다. 이 클레임 변환의 라이브 데모를 확인하세요.

요소 TransformationClaimType 데이터 형식 메모
InputClaim collection stringCollection 출력 클레임에 추가할 문자열 컬렉션입니다. 컬렉션에 항목이 포함된 경우 클레임 변환은 항목을 복사하고 출력 컬렉션 클레임 끝에 항목을 추가합니다.
InputParameter 요소 문자열 출력 클레임에 추가할 값입니다.
OutputClaim collection stringCollection 입력 매개 변수에 지정된 값을 사용하여 이 클레임 변환을 호출하고 나면 생성되는 ClaimType입니다.

AddParameterToStringCollection의 예

다음 예제에서는 상수 전자 메일 주소(admin@contoso.com)를 otherMails 클레임에 추가합니다.

<ClaimsTransformation Id="SetCompanyEmail" TransformationMethod="AddParameterToStringCollection">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="item" DataType="string" Value="admin@contoso.com" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
  </OutputClaims>
</ClaimsTransformation>
  • 입력 클레임:
    • collection: ["someone@outlook.com"]
  • 입력 매개 변수
    • item: "admin@contoso.com"
  • 출력 클레임:
    • collection: ["someone@outlook.com", "admin@contoso.com"]

GetSingleItemFromStringCollection

제공된 문자열 컬렉션에서 첫 번째 항목을 가져옵니다. 이 클레임 변환의 라이브 데모를 확인하세요.

요소 TransformationClaimType 데이터 형식 메모
InputClaim collection stringCollection 클레임 변환에서 항목을 가져오는 데 사용하는 ClaimType입니다.
OutputClaim extractedItem 문자열 이 ClaimsTransformation을 호출한 후 생성되는 ClaimType입니다. 컬렉션의 첫 번째 항목입니다.

GetSingleItemFromStringCollection의 예

다음 예제에서는 otherMails 클레임을 읽고 첫 번째 항목을 email 클레임에 반환합니다.

<ClaimsTransformation Id="CreateEmailFromOtherMails" TransformationMethod="GetSingleItemFromStringCollection">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="extractedItem" />
  </OutputClaims>
</ClaimsTransformation>
  • 입력 클레임:
    • collection: ["someone@outlook.com", "someone@contoso.com"]
  • 출력 클레임:
    • extractedItem: "someone@outlook.com"

StringCollectionContains

StringCollection 클레임 형식에 요소가 포함되어 있는지 확인합니다. 이 클레임 변환의 라이브 데모를 확인하세요.

요소 TransformationClaimType 데이터 형식 메모
InputClaim inputClaim stringCollection 검색할 클레임입니다.
InputParameter 항목 문자열 검색할 값입니다.
InputParameter ignoreCase 문자열 이 비교에서 비교할 문자열의 대/소문자를 무시해야 하는지 여부를 지정합니다.
OutputClaim outputClaim boolean 이 ClaimsTransformation이 호출된 후에 생성되는 ClaimType입니다. 컬렉션에 이러한 문자열이 포함된 경우 부울 표시기

StringCollectionContains의 예

다음 예에서는 roles stringCollection 클레임 유형에 admin 값이 포함되어 있는지 확인합니다.

<ClaimsTransformation Id="IsAdmin" TransformationMethod="StringCollectionContains">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="roles" TransformationClaimType="inputClaim"/>
  </InputClaims>
  <InputParameters>
    <InputParameter  Id="item" DataType="string" Value="Admin"/>
    <InputParameter  Id="ignoreCase" DataType="string" Value="true"/>
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="isAdmin" TransformationClaimType="outputClaim"/>
  </OutputClaims>
</ClaimsTransformation>
  • 입력 클레임:
    • inputClaim: ["reader", "author", "admin"]
  • 입력 매개 변수:
    • item: "Admin"
    • ignoreCase: "true"
  • 출력 클레임:
    • outputClaim: "true"

StringCollectionContainsClaim

StringCollection 클레임 유형에 클레임 값이 포함되어 있는지 확인합니다. 이 클레임 변환의 라이브 데모를 확인하세요.

요소 TransformationClaimType 데이터 형식 메모
InputClaim collection stringCollection 검색할 클레임입니다.
InputClaim 항목 문자열 검색할 값이 포함된 클레임 유형입니다.
InputParameter ignoreCase 문자열 이 비교에서 비교할 문자열의 대/소문자를 무시해야 하는지 여부를 지정합니다.
OutputClaim outputClaim boolean 이 ClaimsTransformation이 호출된 후에 생성되는 ClaimType입니다. 컬렉션에 이러한 문자열이 포함된 경우 부울 표시기

StringCollectionContainsClaim의 예

다음 예에서는 roles stringCollection 클레임 유형에 role 클레임 유형 값이 포함되어 있는지 확인합니다.

<ClaimsTransformation Id="HasRequiredRole" TransformationMethod="StringCollectionContainsClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="roles" TransformationClaimType="collection" />
    <InputClaim ClaimTypeReferenceId="role" TransformationClaimType="item" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="ignoreCase" DataType="string" Value="true" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="hasAccess" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation> 
  • 입력 클레임:
    • collection: ["reader", "author", "admin"]
    • item: "Admin"
  • 입력 매개 변수:
    • ignoreCase: "true"
  • 출력 클레임:
    • outputClaim: "true"

다음 단계