Przekształcenia roszczeń kont społecznościowych
W usłudze Azure Active Directory B2C (Azure AD B2C) tożsamości kont społecznościowych 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="
}]
W tym artykule przedstawiono przykłady użycia przekształceń oświadczeń kont społecznościowych schematu struktury obsługi tożsamości w Azure AD B2C. Aby uzyskać więcej informacji, zobacz ClaimsTransformations.
AddItemToAlternativeSecurityIdCollection
Dodaje element AlternativeSecurityId
alternativeSecurityIdCollection
do oświadczenia. Zapoznaj się z pokazem na żywo tej transformacji oświadczeń.
Element | TransformationClaimType | Typ danych | Uwagi |
---|---|---|---|
InputClaim | Element | ciąg | 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 element item na końcu kolekcji. |
OutputClaim | — kolekcja | alternativeSecurityIdCollection | Oświadczenie, które jest tworzone 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 addItemToAlternativeSecurityIdCollection
Poniższy przykład łączy nową tożsamość społecznościową z istniejącym kontem. Aby połączyć nową tożsamość społecznościową:
- 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 alternatywnego oświadczeniaSecurityIds 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 Microsoft Entra. Zapoznaj się z pokazem na żywo tej transformacji oświadczeń. Aby uzyskać więcej informacji, zobacz schemat AlternativeSecurityId .
Element | TransformationClaimType | Typ danych | Uwagi |
---|---|---|---|
InputClaim | key | ciąg | Oświadczenie określające unikatowy identyfikator użytkownika używany przez dostawcę tożsamości społecznościowych. |
InputClaim | identityProvider | ciąg | Oświadczenie określające nazwę dostawcy tożsamości konta społecznościowego, takie jak facebook.com. |
OutputClaim | alternativeSecurityId | ciąg | Oświadczenie, które jest tworzone 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 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 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 alternatywnego oświadczeniaSecurityIdCollection do nowego oświadczenia stringCollection . Zapoznaj się z pokazem na żywo 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 jest tworzone 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 userSecurityIds i wyodrębnia listę nazw dostawców tożsamości skojarzonych z tym kontem. Użyj elementu output identityProvidersCollection , aby wyświetlić użytkownikowi listę dostawców tożsamości skojarzonych z kontem. Lub na stronie wyboru dostawcy tożsamości odfiltruj listę dostawców tożsamości na podstawie danych wyjściowych oświadczenia identityProvidersCollection . W związku z tym użytkownik może wybrać opcję połączenia 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 | ciąg | Oświadczenie zawierające nazwę dostawcy tożsamości, które ma zostać usunięte z kolekcji. |
InputClaim | — kolekcja | alternativeSecurityIdCollection | Oświadczenie, które jest używane przez przekształcenie oświadczeń. Przekształcenie oświadczeń usuwa element identityProvider z kolekcji. |
OutputClaim | — kolekcja | alternativeSecurityIdCollection | Oświadczenie, które jest generowane po wywołaniu tej transformacji 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ą:
-
AAD-UserReadUsingAlternativeSecurityId
W profilach technicznych iAAD-UserReadUsingObjectId
wprowadź 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.
- Utrwalanie oświadczenia 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
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
- Oświadczenia wyjściowe:
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Następne kroki
- Więcej przykładów przekształcania oświadczeń można znaleźć w repozytorium GitHub społeczności usługi Azure AD B2C
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla