소셜 계정 클레임 변환
Azure AD B2C(Azure Active Directory B2C)에서 alternativeSecurityIds
소셜 계정 ID는 alternativeSecurityIdCollection 클레임 유형의 특성에 저장됩니다. alternativeSecurityIdCollection의 각 항목은 발급자(facebook.com 같은 ID 공급자 이름) 및 issuerUserId
발급자의 고유한 사용자 식별자인 발급자를 지정합니다.
"alternativeSecurityIds": [{
"issuer": "google.com",
"issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
},
{
"issuer": "facebook.com",
"issuerUserId": "MTIzNDU="
}]
이 문서에서는 Azure AD B2C에서 ID 경험 프레임워크 스키마의 소셜 계정 클레임 변환을 사용하는 예제를 제공합니다. 자세한 내용은 ClaimsTransformations를 참조하세요.
AddItemToAlternativeSecurityIdCollection
클레임에 AlternativeSecurityId
추가합니다 alternativeSecurityIdCollection
. 이 클레임 변환의 라이브 데모를 확인하세요.
요소 | TransformationClaimType | 데이터 형식 | 주의 |
---|---|---|---|
InputClaim | 요소 | string | 출력 클레임에 추가할 클레임입니다. |
InputClaim | 컬렉션 | alternativeSecurityIdCollection | 정책에 사용 가능한 경우 클레임 변환에서 사용하는 클레임입니다. 제공된 경우 클레임 변환은 컬렉션의 끝에 item 을 추가합니다. |
OutputClaim | 컬렉션 | alternativeSecurityIdCollection | 이 클레임 변환이 호출된 후에 생성되는 클레임입니다. 입력 collection 및 .의 항목이 모두 포함된 새 컬렉션입니다 item . |
AddItemToAlternativeSecurityIdCollection의 예
다음 예제는 새 소셜 ID를 기존 계정에 연결합니다. 새 소셜 ID를 연결하려면 다음을 수행합니다.
AAD-UserReadUsingAlternativeSecurityId
및AAD-UserReadUsingObjectId
기술 프로필에서 사용자의alternativeSecurityIds
클레임을 출력합니다.- 사용자에게 이 사용자와 연결되지 않은 ID 공급자 중 하나로 로그인하도록 요청합니다.
- CreateAlternativeSecurityId 클레임 변환을 사용하여 이름이 인 새 alternativeSecurityId 클레임 형식을 만듭니다.
AlternativeSecurityId2
- AddItemToAlternativeSecurityIdCollection 클레임 변환을 호출하여 AlternativeSecurityId2 클레임을 기존 AlternativeSecurityIds 클레임에 추가합니다.
- 사용자 계정에 alternativeSecurityIds 클레임 유지
<ClaimsTransformation Id="AddAnotherAlternativeSecurityId" TransformationMethod="AddItemToAlternativeSecurityIdCollection">
<InputClaims>
<InputClaim ClaimTypeReferenceId="AlternativeSecurityId2" TransformationClaimType="item" />
<InputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
</OutputClaims>
</ClaimsTransformation>
입력 클레임:
항목:
{ "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" }
컬렉션:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
출력 클레임:
컬렉션:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
CreateAlternativeSecurityId
Microsoft Entra ID 호출에서 사용할 수 있는, 사용자의 alternativeSecurityId 속성에 대한 JSON 표현을 만듭니다. 이 클레임 변환의 라이브 데모를 확인하세요. 자세한 내용은 AlternativeSecurityId 스키마를 참조하세요.
요소 | TransformationClaimType | 데이터 형식 | 주의 |
---|---|---|---|
InputClaim | key | string | 소셜 ID 공급자가 사용하는 고유한 사용자 식별자를 지정하는 클레임입니다. |
InputClaim | identityProvider | string | 소셜 계정 ID 공급자 이름(예: facebook.com)을 지정하는 클레임입니다. |
OutputClaim | alternativeSecurityId | string | 이 클레임 변환이 호출된 후에 생성되는 클레임입니다. 소셜 계정 사용자의 ID에 대한 정보를 포함합니다. issuer는 identityProvider 클레임의 값입니다. issuerUserId는 base64 형식인 key 클레임의 값입니다. |
CreateAlternativeSecurityId의 예
이 클레임 변환을 사용하여 alternativeSecurityId
클레임을 생성할 수 있습니다. 모든 소셜 ID 공급자 기술 프로필(예: Facebook-OAUTH
.)에서 사용됩니다. 다음 클레임 변환은 사용자 소셜 계정 ID 및 ID 공급자 이름을 받습니다. 이 기술 프로필의 출력은 Microsoft Entra 디렉터리 서비스에서 사용할 수 있는 JSON 문자열 형식입니다.
<ClaimsTransformation Id="CreateAlternativeSecurityId" TransformationMethod="CreateAlternativeSecurityId">
<InputClaims>
<InputClaim ClaimTypeReferenceId="issuerUserId" TransformationClaimType="key" />
<InputClaim ClaimTypeReferenceId="identityProvider" TransformationClaimType="identityProvider" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="alternativeSecurityId" TransformationClaimType="alternativeSecurityId" />
</OutputClaims>
</ClaimsTransformation>
- 입력 클레임:
- key: 12334
- identityProvider: Facebook.com
- 출력 클레임:
- alternativeSecurityId: { "issuer": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"}
GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
alternativeSecurityIdCollection 클레임의 발급자 목록을 새 stringCollection 클레임으로 반환합니다. 이 클레임 변환의 라이브 데모를 확인하세요.
요소 | TransformationClaimType | 데이터 형식 | 주의 |
---|---|---|---|
InputClaim | alternativeSecurityIdCollection | alternativeSecurityIdCollection | ID 공급자(발급자) 목록을 가져오는 데 사용할 클레임입니다. |
OutputClaim | identityProvidersCollection | stringCollection | 이 클레임 변환이 호출된 후에 생성되는 클레임입니다. 입력 클레임과 연결된 ID 공급자의 목록입니다. |
GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation의 예
다음 클레임 변환은 사용자 alternativeSecurityIds 클레임을 읽고 해당 계정과 연결된 ID 공급자 이름 목록을 추출합니다. 출력 identityProvidersCollection 을 사용하여 사용자에게 계정과 연결된 ID 공급자 목록을 표시합니다. 또는 ID 공급자 선택 페이지에서 출력 identityProvidersCollection 클레임을 기준으로 ID 공급자 목록을 필터링합니다. 따라서 사용자는 아직 계정과 연결되지 않은 새 소셜 ID를 연결하도록 선택할 수 있습니다.
<ClaimsTransformation Id="ExtractIdentityProviders" TransformationMethod="GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation">
<InputClaims>
<InputClaim ClaimTypeReferenceId="alternativeSecurityIds" TransformationClaimType="alternativeSecurityIdCollection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="identityProviders" TransformationClaimType="identityProvidersCollection" />
</OutputClaims>
</ClaimsTransformation>
입력 클레임:
alternativeSecurityIdCollection:
[ { "issuer": "google.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
출력 클레임:
- identityProvidersCollection: [ "facebook.com", "google.com" ]
RemoveAlternativeSecurityIdByIdentityProvider
alternativeSecurityIdCollection 클레임에서 AlternativeSecurityId를 제거합니다. 이 클레임 변환의 라이브 데모를 확인하세요.
요소 | TransformationClaimType | 데이터 형식 | 주의 |
---|---|---|---|
InputClaim | identityProvider | string | 컬렉션에서 제거할 ID 공급자 이름을 포함하는 클레임입니다. |
InputClaim | 컬렉션 | alternativeSecurityIdCollection | 클레임 변환에 사용되는 클레임입니다. 클레임 변환은 컬렉션에서 identityProvider를 제거합니다. |
OutputClaim | 컬렉션 | alternativeSecurityIdCollection | 이 클레임 변환이 호출된 후에 생성되는 클레임입니다. identityProvider가 컬렉션에서 제거된 후의 새 컬렉션입니다. |
RemoveAlternativeSecurityIdByIdentityProvider의 예
다음 예제는 기존 계정과 소셜 ID 중 하나의 연결을 해제합니다. 소셜 ID의 연결을 해제하려면 다음을 수행합니다.
AAD-UserReadUsingAlternativeSecurityId
및AAD-UserReadUsingObjectId
기술 프로필에서 사용자의alternativeSecurityIds
클레임을 출력합니다.- 사용자에게 이 사용자와 연결된 목록 ID 공급자에서 제거할 소셜 계정을 선택하도록 요청합니다.
- ID 공급자 이름을 사용하여 선택한 소셜 ID를 제거한 RemoveAlternativeSecurityIdByIdentityProvider 클레임 변환을 호출하는 클레임 변환 기술 프로필을 호출합니다.
- alternativeSecurityIds 클레임을 사용자 계정에 저장합니다.
<ClaimsTransformation Id="RemoveAlternativeSecurityIdByIdentityProvider" TransformationMethod="RemoveAlternativeSecurityIdByIdentityProvider">
<InputClaims>
<InputClaim ClaimTypeReferenceId="secondIdentityProvider" TransformationClaimType="identityProvider" />
<InputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
</OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>
- 입력 클레임:
- identityProvider: facebook.com
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
- 출력 클레임:
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
다음 단계
- Azure AD B2C 커뮤니티 GitHub 리포지토리에서 더 많은 클레임 변환 샘플 찾기