Przekształcenia roszczeń kont społecznościowych
W usłudze Azure Active Directory B2C (Azure AD B2C) tożsamości konta społecznościowego są przechowywane w alternativeSecurityIds
atrybucie alternatywnego typu oświadczeniaSecurityIdCollection . Każdy element w alternatywieSecurityIdCollection określa wystawcę (nazwę dostawcy tożsamości, taką jak facebook.com) i issuerUserId
, który jest unikatowym identyfikatorem użytkownika wystawcy.
"alternativeSecurityIds": [{
"issuer": "google.com",
"issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
},
{
"issuer": "facebook.com",
"issuerUserId": "MTIzNDU="
}]
Ten artykuł zawiera przykłady użycia przekształceń oświadczeń kont społecznościowych schematu struktury środowiska tożsamości w usłudze Azure AD B2C. Aby uzyskać więcej informacji, zobacz ClaimsTransformations.
AddItemToAlternativeSecurityIdCollection
Dodaje element AlternativeSecurityId
do alternativeSecurityIdCollection
oświadczenia. Zapoznaj się z pokazem live tej transformacji oświadczeń.
Element | TransformationClaimType | Typ danych | Uwagi |
---|---|---|---|
InputClaim | Element | string | Oświadczenie, które ma zostać dodane do oświadczenia wyjściowego. |
InputClaim | — kolekcja | alternativeSecurityIdCollection | Oświadczenie, które jest używane przez przekształcenie oświadczeń, jeśli jest dostępne w zasadach. Jeśli zostanie podana, przekształcenie oświadczeń dodaje item element na końcu kolekcji. |
OutputClaim | — kolekcja | alternativeSecurityIdCollection | Oświadczenie, które zostało wygenerowane po wywołaniu tego przekształcenia oświadczeń. Nowa kolekcja zawierająca zarówno elementy z danych wejściowych collection , jak i item . |
Przykład polecenia AddItemToAlternativeSecurityIdCollection
Poniższy przykład łączy nową tożsamość społecznościową z istniejącym kontem. Aby połączyć nową tożsamość społeczną:
- W profilach
AAD-UserReadUsingAlternativeSecurityId
technicznych iAAD-UserReadUsingObjectId
wyprowadź oświadczenie użytkownikaalternativeSecurityIds
. - Poproś użytkownika o zalogowanie się przy użyciu jednego z dostawców tożsamości, którzy nie są skojarzeni z tym użytkownikiem.
- Korzystając z przekształcenia oświadczeń CreateAlternativeSecurityId, utwórz nowy typ oświadczenia alternativeSecurityId o nazwie
AlternativeSecurityId2
- Wywołaj przekształcenie oświadczeń AddItemToAlternativeSecurityIdCollection , aby dodać oświadczenie AlternativeSecurityId2 do istniejącego oświadczenia AlternativeSecurityIds .
- Utrwalanie oświadczenia alternativeSecurityIds na koncie użytkownika
<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>
Oświadczenia wejściowe:
element:
{ "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" }
kolekcja:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Oświadczenia wyjściowe:
kolekcja:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
CreateAlternativeSecurityId
Tworzy reprezentację JSON alternatywnej właściwościSecurityId użytkownika, która może być używana w wywołaniach do identyfikatora Entra firmy Microsoft. Zapoznaj się z pokazem live tej transformacji oświadczeń. Aby uzyskać więcej informacji, zobacz schemat AlternativeSecurityId .
Element | TransformationClaimType | Typ danych | Uwagi |
---|---|---|---|
InputClaim | klucz | string | Oświadczenie określające unikatowy identyfikator użytkownika używany przez dostawcę tożsamości społecznościowych. |
InputClaim | identityProvider | string | Oświadczenie określające nazwę dostawcy tożsamości konta społecznościowego, takie jak facebook.com. |
OutputClaim | alternativeSecurityId | string | Oświadczenie, które zostało wygenerowane po wywołaniu przekształcenia oświadczeń. Zawiera informacje o tożsamości użytkownika konta społecznościowego. Wystawca jest wartością identityProvider oświadczenia. IssuerUserId jest wartością key oświadczenia w formacie base64. |
Przykład elementu CreateAlternativeSecurityId
Użyj tej transformacji oświadczeń, aby wygenerować alternativeSecurityId
oświadczenie. Jest on używany przez wszystkie profile techniczne dostawcy tożsamości społecznościowych, takie jak Facebook-OAUTH
. Następujące przekształcenie oświadczeń odbiera identyfikator konta społecznościowego użytkownika i nazwę dostawcy tożsamości. Dane wyjściowe tego profilu technicznego to format ciągu JSON, który może być używany w usługach katalogowych Firmy Microsoft Entra.
<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>
- Oświadczenia wejściowe:
- klucz: 12334
- identityProvider: Facebook.com
- Oświadczenia wyjściowe:
- alternativeSecurityId: { "issuer": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"}
GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
Zwraca listę wystawców z oświadczenia alternativeSecurityIdCollection do nowego oświadczenia stringCollection. Zapoznaj się z pokazem live tej transformacji oświadczeń.
Element | TransformationClaimType | Typ danych | Uwagi |
---|---|---|---|
InputClaim | alternativeSecurityIdCollection | alternativeSecurityIdCollection | Oświadczenie, które ma zostać użyte do pobrania listy dostawców tożsamości (wystawcy). |
OutputClaim | identityProvidersCollection | stringCollection | Oświadczenie, które zostało wygenerowane po wywołaniu tego przekształcenia oświadczeń. Lista dostawców tożsamości skojarzonych z oświadczeniem wejściowym. |
Przykład getIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
Następujące przekształcenie oświadczeń odczytuje alternatywne oświadczenie użytkownikaSecurityIds i wyodrębnia listę nazw dostawców tożsamości skojarzonych z tym kontem. Użyj wartości output identityProvidersCollection , aby wyświetlić użytkownikowi listę dostawców tożsamości skojarzonych z kontem. Możesz też odfiltrować listę dostawców tożsamości na stronie wyboru dostawcy tożsamości na podstawie danych wyjściowych oświadczenia identityProvidersCollection . W związku z tym użytkownik może wybrać połączenie nowej tożsamości społecznościowej, która nie jest jeszcze skojarzona z kontem.
<ClaimsTransformation Id="ExtractIdentityProviders" TransformationMethod="GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation">
<InputClaims>
<InputClaim ClaimTypeReferenceId="alternativeSecurityIds" TransformationClaimType="alternativeSecurityIdCollection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="identityProviders" TransformationClaimType="identityProvidersCollection" />
</OutputClaims>
</ClaimsTransformation>
Oświadczenia wejściowe:
alternativeSecurityIdCollection:
[ { "issuer": "google.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
Oświadczenia wyjściowe:
- identityProvidersCollection: [ "facebook.com", "google.com" ]
RemoveAlternativeSecurityIdByIdentityProvider
Usuwa identyfikator AlternativeSecurityId z alternatywnego oświadczeniaSecurityIdCollection. Zapoznaj się z pokazem live tej transformacji oświadczeń.
Element | TransformationClaimType | Typ danych | Uwagi |
---|---|---|---|
InputClaim | identityProvider | string | Oświadczenie zawierające nazwę dostawcy tożsamości do usunięcia z kolekcji. |
InputClaim | — kolekcja | alternativeSecurityIdCollection | Oświadczenie używane przez przekształcenie oświadczeń. Przekształcenie oświadczeń usuwa element identityProvider z kolekcji. |
OutputClaim | — kolekcja | alternativeSecurityIdCollection | Oświadczenie, które zostało wygenerowane po wywołaniu tego przekształcenia oświadczeń. Nowa kolekcja po usunięciu elementu identityProvider z kolekcji. |
Przykład removeAlternativeSecurityIdByIdentityProvider
Poniższy przykład odłącza jedną z tożsamości społecznościowych przy użyciu istniejącego konta. Aby odłączyć tożsamość społeczną:
- W profilach
AAD-UserReadUsingAlternativeSecurityId
technicznych iAAD-UserReadUsingObjectId
wyprowadź oświadczenie użytkownikaalternativeSecurityIds
. - Poproś użytkownika o wybranie konta społecznościowego do usunięcia z listy dostawców tożsamości skojarzonych z tym użytkownikiem.
- Wywołaj profil techniczny przekształcania oświadczeń, który wywołuje przekształcenie oświadczeń RemoveAlternativeSecurityIdByIdentityProvider , które usunęło wybraną tożsamość społeczną przy użyciu nazwy dostawcy tożsamości.
- Utrąć oświadczenie alternativeSecurityIds na koncie użytkownika.
<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>
- Oświadczenia wejściowe:
- identityProvider: facebook.com
- kolekcja: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
- Oświadczenia wyjściowe:
- kolekcja: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Następne kroki
- Znajdź więcej przykładów przekształcania oświadczeń w repozytorium GitHub społeczności usługi Azure AD B2C