Sociala konton gör anspråk på omvandlingar
I Azure Active Directory B2C (Azure AD B2C) lagras identiteter för sociala konton i ett alternativeSecurityIds
attribut av anspråkstypen alternativeSecurityIdCollection . Varje objekt i alternativeSecurityIdCollection anger utfärdaren (identitetsproviderns namn, till exempel facebook.com) och issuerUserId
, som är en unik användaridentifierare för utfärdaren.
"alternativeSecurityIds": [{
"issuer": "google.com",
"issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
},
{
"issuer": "facebook.com",
"issuerUserId": "MTIzNDU="
}]
Den här artikeln innehåller exempel på hur du använder omvandlingar av anspråk på sociala konton i Identity Experience Framework-schemat i Azure AD B2C. Mer information finns i ClaimsTransformations.
AddItemToAlternativeSecurityIdCollection
Lägger till ett AlternativeSecurityId
anspråk alternativeSecurityIdCollection
. Kolla in live-demonstrationen av den här anspråkstransformeringen.
Element | TransformationClaimType | Datatyp | Kommentar |
---|---|---|---|
InputClaim | Element | sträng | Anspråket som ska läggas till i utdataanspråket. |
InputClaim | samling | alternativeSecurityIdCollection | Anspråket som används av anspråkstransformeringen om det är tillgängligt i principen. Om det tillhandahålls lägger anspråkstransformeringen till item i slutet av samlingen. |
OutputClaim | samling | alternativeSecurityIdCollection | Anspråket som skapas efter den här anspråkstransformeringen har anropats. Den nya samlingen som innehåller både objekten från indata collection och item . |
Exempel på AddItemToAlternativeSecurityIdCollection
I följande exempel länkas en ny social identitet med ett befintligt konto. Så här länkar du en ny social identitet:
- I de
AAD-UserReadUsingAlternativeSecurityId
tekniska profilerna ochAAD-UserReadUsingObjectId
matar du ut användarensalternativeSecurityIds
anspråk. - Be användaren att logga in med en av de identitetsprovidrar som inte är associerade med den här användaren.
- Med hjälp av createAlternativeSecurityId-anspråkstransformeringen skapar du en ny alternativSecurityId-anspråkstyp med namnet
AlternativeSecurityId2
- Anropa transformering av AddItemToAlternativeSecurityIdCollection-anspråk för att lägga till AlternativeSecurityId2-anspråket i det befintliga AlternativeSecurityIds-anspråket.
- Spara alternativeSecurityIds-anspråket på användarkontot
<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>
Indataanspråk:
objekt:
{ "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" }
samling:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Utdataanspråk:
samling:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
CreateAlternativeSecurityId
Skapar en JSON-representation av användarens alternativeSecurityId-egenskap som kan användas i anropen till Microsoft Entra ID. Kolla in live-demonstrationen av den här anspråkstransformeringen. Mer information finns i AlternativeSecurityId-schemat .
Element | TransformationClaimType | Datatyp | Kommentar |
---|---|---|---|
InputClaim | nyckel | sträng | Anspråket som anger den unika användaridentifierare som används av den sociala identitetsprovidern. |
InputClaim | identityProvider | sträng | Anspråket som anger namnet på den sociala kontoidentitetsprovidern, till exempel facebook.com. |
OutputClaim | alternativeSecurityId | sträng | Anspråket som skapas efter anspråkstransformeringen har anropats. Innehåller information om identiteten för en användare av ett socialt konto. Utfärdaren är värdet för anspråketidentityProvider . IssuerUserId är värdet för anspråket key i base64-format. |
Exempel på CreateAlternativeSecurityId
Använd den här anspråkstransformeringen för att generera ett alternativeSecurityId
anspråk. Den används av alla tekniska profiler för social identitetsprovider, till exempel Facebook-OAUTH
. Följande anspråkstransformation tar emot användarnamnet för det sociala kontot och identitetsproviderns namn. Utdata från den här tekniska profilen är ett JSON-strängformat som kan användas i Microsoft Entra-katalogtjänster.
<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>
- Indataanspråk:
- nyckel: 12334
- identityProvider: Facebook.com
- Utdataanspråk:
- alternativeSecurityId: { "issuer": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"}
GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
Returnerar en lista över utfärdare från anspråket alternativeSecurityIdCollection till ett nytt stringCollection-anspråk . Kolla in live-demonstrationen av den här anspråkstransformeringen.
Element | TransformationClaimType | Datatyp | Kommentar |
---|---|---|---|
InputClaim | alternativeSecurityIdCollection | alternativeSecurityIdCollection | Anspråket som ska användas för att hämta listan över identitetsprovidrar (utfärdare). |
OutputClaim | identityProvidersCollection | stringCollection | Anspråket som skapas efter den här anspråkstransformeringen har anropats. En lista över identitetsprovidrar som är associerade med indataanspråket. |
Exempel på GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
Följande anspråkstransformering läser anspråket user alternativeSecurityIds och extraherar listan över identitetsprovidernamn som är associerade med det kontot. Använd utdataidentitetProvidersCollection för att visa användaren listan över identitetsprovidrar som är associerade med kontot. Eller på sidan för val av identitetsprovider filtrerar du listan över identitetsprovidrar baserat på utdataidentitetProvidersCollection-anspråk. Användaren kan därför välja att länka en ny social identitet som inte redan är associerad med kontot.
<ClaimsTransformation Id="ExtractIdentityProviders" TransformationMethod="GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation">
<InputClaims>
<InputClaim ClaimTypeReferenceId="alternativeSecurityIds" TransformationClaimType="alternativeSecurityIdCollection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="identityProviders" TransformationClaimType="identityProvidersCollection" />
</OutputClaims>
</ClaimsTransformation>
Indataanspråk:
alternativeSecurityIdCollection:
[ { "issuer": "google.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
Utdataanspråk:
- identityProvidersCollection: [ "facebook.com", "google.com" ]
RemoveAlternativeSecurityIdByIdentityProvider
Tar bort ett AlternativeSecurityId från ett alternativeSecurityIdCollection-anspråk . Kolla in live-demonstrationen av den här anspråkstransformeringen.
Element | TransformationClaimType | Datatyp | Kommentar |
---|---|---|---|
InputClaim | identityProvider | sträng | Anspråket som innehåller identitetsproviderns namn som ska tas bort från samlingen. |
InputClaim | samling | alternativeSecurityIdCollection | Anspråket som används av anspråkstransformeringen. Anspråkstransformeringen tar bort identitetprovidern från samlingen. |
OutputClaim | samling | alternativeSecurityIdCollection | Anspråket som skapas efter den här anspråkstransformeringen har anropats. Den nya samlingen, efter att identityProvider tagits bort från samlingen. |
Exempel på RemoveAlternativeSecurityIdByIdentityProvider
I följande exempel avlänkas en av de sociala identiteterna med ett befintligt konto. Så här avlänkar du en social identitet:
- I de
AAD-UserReadUsingAlternativeSecurityId
tekniska profilerna ochAAD-UserReadUsingObjectId
matar du ut användarensalternativeSecurityIds
anspråk. - Be användaren att välja vilket socialt konto som ska tas bort från listans identitetsprovidrar som är associerade med den här användaren.
- Anropa en teknisk profil för anspråksomvandling som anropar anspråksomvandlingen RemoveAlternativeSecurityIdByIdentityProvider , som tog bort den valda sociala identiteten med identitetsproviderns namn.
- Spara anspråket alternativeSecurityIds på användarkontot.
<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>
- Indataanspråk:
- identityProvider: facebook.com
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
- Utdataanspråk:
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Nästa steg
- Hitta fler exempel på anspråkstransformering på GitHub-lagringsplatsen för Azure AD B2C-communityn