Claimtransformaties voor sociale accounts
In Azure Active Directory B2C (Azure AD B2C) worden identiteiten van sociale accounts opgeslagen in een alternativeSecurityIds
kenmerk van een alternativeSecurityIdCollection-claimtype. Elk item in de alternativeSecurityIdCollection geeft de verlener (id-providernaam, zoals facebook.com) en de issuerUserId
, een unieke gebruikers-id voor de verlener.
"alternativeSecurityIds": [{
"issuer": "google.com",
"issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
},
{
"issuer": "facebook.com",
"issuerUserId": "MTIzNDU="
}]
Dit artikel bevat voorbeelden voor het gebruik van claimtransformaties voor sociaal account van het Identity Experience Framework-schema in Azure AD B2C. Zie voor meer informatie ClaimsTransformations.
AddItemToAlternativeSecurityIdCollection
Voegt een AlternativeSecurityId
aan een alternativeSecurityIdCollection
claim toe. Bekijk de livedemo van deze claimtransformatie.
Element | TransformationClaimType | Gegevenstype | Opmerkingen |
---|---|---|---|
InputClaim | Element | tekenreeks | De claim die moet worden toegevoegd aan de uitvoerclaim. |
InputClaim | verzameling | alternativeSecurityIdCollection | De claim die wordt gebruikt door de claimtransformatie, indien beschikbaar in het beleid. Indien opgegeven, voegt de claimtransformatie het item aan het einde van de verzameling toe. |
OutputClaim | verzameling | alternativeSecurityIdCollection | De claim die wordt geproduceerd nadat deze claimtransformatie is aangeroepen. De nieuwe verzameling die zowel de items uit invoer collection als item bevat. |
Voorbeeld van AddItemToAlternativeSecurityIdCollection
In het volgende voorbeeld wordt een nieuwe sociale identiteit gekoppeld aan een bestaand account. Een nieuwe sociale identiteit koppelen:
- Voer in de
AAD-UserReadUsingAlternativeSecurityId
enAAD-UserReadUsingObjectId
technische profielen de claim vanalternativeSecurityIds
de gebruiker uit. - Vraag de gebruiker zich aan te melden bij een van de id-providers die niet aan deze gebruiker zijn gekoppeld.
- Maak met behulp van de claimtransformatie CreateAlternativeSecurityId een nieuw claimtype alternativeSecurityId met een naam van
AlternativeSecurityId2
- Roep de claimtransformatie AddItemToAlternativeSecurityIdCollection aan om de claim AlternativeSecurityId2 toe te voegen aan de bestaande claim AlternativeSecurityIds.
- De claim alternativeSecurityIds behouden voor het gebruikersaccount
<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>
Invoerclaims:
item:
{ "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" }
collection:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
De uitvoerclaims:
collection:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
CreateAlternativeSecurityId
Hiermee maakt u een JSON-weergave van de alternatieveSecurityId-eigenschap van de gebruiker die kan worden gebruikt in de aanroepen naar Microsoft Entra-id. Bekijk de livedemo van deze claimtransformatie. Zie voor meer informatie het schema AlternativeSecurityId.
Element | TransformationClaimType | Gegevenstype | Opmerkingen |
---|---|---|---|
InputClaim | sleutel | tekenreeks | De claim die de unieke gebruikers-id aangeeft die wordt gebruikt door de sociale id-provider. |
InputClaim | identityProvider | tekenreeks | De claim die de id-providernaam van het sociale account opgeeft, zoals facebook.com. |
OutputClaim | alternativeSecurityId | tekenreeks | De claim die wordt geproduceerd nadat deze claimtransformatie is aangeroepen. Bevat informatie over de identiteit van een gebruiker van een sociaal account. De uitgever is de waarde van de identityProvider claim. De issuerUserId is de waarde van de key claim in base64-indeling. |
Voorbeeld van CreateAlternativeSecurityId
Gebruik deze claimtransformatie om een alternativeSecurityId
claim te genereren. Het wordt gebruikt door alle technische profielen van sociale id-providers, zoals Facebook-OAUTH
. De volgende claimtransformatie ontvangt de id van het sociale gebruikersaccount en de naam van de id-provider. De uitvoer van dit technische profiel is een JSON-tekenreeksindeling die kan worden gebruikt in Microsoft Entra-adreslijstservices.
<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>
- Invoerclaims:
- key: 12334
- identityProvider: Facebook.com
- Uitvoerclaims:
- alternativeSecurityId: { "issuer": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"}
GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
Retourneert een lijst met verleners van de claim alternativeSecurityIdCollection in een nieuwe stringCollection-claim. Bekijk de livedemo van deze claimtransformatie.
Element | TransformationClaimType | Gegevenstype | Opmerkingen |
---|---|---|---|
InputClaim | alternativeSecurityIdCollection | alternativeSecurityIdCollection | De claim die moet worden gebruikt om de lijst met id-providers (verlener) op te halen. |
OutputClaim | identityProvidersCollection | StringCollection | De claim die wordt geproduceerd nadat deze claimtransformatie is aangeroepen. Een lijst met id-providers die zijn gekoppeld aan de invoerclaim. |
Voorbeeld van GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
De volgende claimtransformatie leest de claim alternativeSecurityIds van de gebruiker en extraheert de lijst met id-providernamen die aan dat account zijn gekoppeld. Gebruik uitvoer identityProvidersCollection om de gebruiker de lijst met id-providers weer te geven die zijn gekoppeld aan het account. Of filter op de selectiepagina van de id-provider de lijst met id-providers op basis van de claim IdentityProvidersCollection. De gebruiker kan er dus voor kiezen om een nieuwe sociale identiteit te koppelen die nog niet aan het account is gekoppeld.
<ClaimsTransformation Id="ExtractIdentityProviders" TransformationMethod="GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation">
<InputClaims>
<InputClaim ClaimTypeReferenceId="alternativeSecurityIds" TransformationClaimType="alternativeSecurityIdCollection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="identityProviders" TransformationClaimType="identityProvidersCollection" />
</OutputClaims>
</ClaimsTransformation>
Invoerclaims:
alternativeSecurityIdCollection:
[ { "issuer": "google.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
De uitvoerclaims:
- identityProvidersCollection: [ "facebook.com", "google.com" ]
RemoveAlternativeSecurityIdByIdentityProvider
Hiermee verwijdert u een AlternativeSecurityId uit een alternativeSecurityIdCollection-claim. Bekijk de livedemo van deze claimtransformatie.
Element | TransformationClaimType | Gegevenstype | Opmerkingen |
---|---|---|---|
InputClaim | identityProvider | tekenreeks | De claim die de id-providernaam bevat die uit de verzameling moet worden verwijderd. |
InputClaim | verzameling | alternativeSecurityIdCollection | De claim die wordt gebruikt door de claimtransformatie. Met de claimtransformatie wordt de identityProvider uit de verzameling verwijderd. |
OutputClaim | verzameling | alternativeSecurityIdCollection | De claim die wordt geproduceerd nadat deze claimtransformatie is aangeroepen. De nieuwe verzameling, nadat de identityProvider uit de verzameling is verwijderd. |
Voorbeeld van RemoveAlternativeSecurityIdByIdentityProvider
In het volgende voorbeeld wordt een van de sociale identiteiten ontkoppeld met een bestaand account. Een sociale identiteit ontkoppelen:
- Voer in de
AAD-UserReadUsingAlternativeSecurityId
enAAD-UserReadUsingObjectId
technische profielen de claim vanalternativeSecurityIds
de gebruiker uit. - Vraag de gebruiker om te selecteren welk sociaal account moet worden verwijderd uit de lijst met id-providers die aan deze gebruiker zijn gekoppeld.
- Roep een technisch profiel voor claimtransformatie aan dat de claimtransformatie RemoveAlternativeSecurityIdByIdentityProvider aanroept, die de geselecteerde sociale identiteit heeft verwijderd met behulp van de naam van de id-provider.
- De claim alternativeSecurityIds behouden voor het gebruikersaccount.
<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>
- Invoerclaims:
- identityProvider: facebook.com
- verzameling: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYZMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
- Uitvoerclaims:
- verzameling: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYZMjcw" } ]
Volgende stappen
- Meer voorbeelden van claimtransformaties kunt u vinden in de GitHub-opslagplaats van de Azure AD B2C-community