Trasformazioni delle attestazioni degli account social
In Azure Active Directory B2C (Azure AD B2C), le identità degli account di social networking vengono archiviate in un alternativeSecurityIds
attributo di un tipo di attestazione alternativeSecurityIdCollection . Ogni elemento di alternativeSecurityIdCollection specifica l'autorità di certificazione (nome del provider di identità, ad esempio facebook.com) e il issuerUserId
, ovvero un identificatore utente univoco per l'autorità di certificazione.
"alternativeSecurityIds": [{
"issuer": "google.com",
"issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
},
{
"issuer": "facebook.com",
"issuerUserId": "MTIzNDU="
}]
L'articolo fornisce esempi per l'uso delle trasformazioni di attestazioni dell'account social dello Schema del framework dell'esperienza di gestione delle identità in Azure AD B2C. Per altre informazioni, vedere ClaimsTransformations.
AddItemToAlternativeSecurityIdCollection
Aggiunge un AlternativeSecurityId
a un'attestazione alternativeSecurityIdCollection
. Vedere la demo live di questa trasformazione delle attestazioni.
Elemento | TransformationClaimType | Tipo di dati | Note |
---|---|---|---|
InputClaim | Elemento | string | Attestazione da aggiungere all'attestazione di output. |
InputClaim | collection | alternativeSecurityIdCollection | Attestazione usata dalla trasformazione delle attestazioni, se disponibile nei criteri. Se specificato, la trasformazione delle attestazioni aggiunge il item alla fine della raccolta. |
OutputClaim | collection | alternativeSecurityIdCollection | Attestazione generata dopo che è stata richiamata la trasformazione delle attestazioni. La nuova raccolta che contiene sia gli elementi dell'input collection che item . |
Esempio di AddItemToAlternativeSecurityIdCollection
L'esempio seguente collega una nuova identità di social networking a un account esistente. Per collegare una nuova identità di social networking:
AAD-UserReadUsingAlternativeSecurityId
Nei profili tecnici eAAD-UserReadUsingObjectId
restituire l'attestazione dell'utentealternativeSecurityIds
.- Chiedere all'utente di accedere con uno dei provider di identità che non sono associati a questo utente.
- Usando la trasformazione delle attestazioni CreateAlternativeSecurityId, creare un nuovo tipo di attestazione alternativeSecurityId con un nome di
AlternativeSecurityId2
- Chiamare la trasformazione delle attestazioni AddItemToAlternativeSecurityIdCollection per aggiungere l'attestazione AlternativeSecurityId2 all'attestazione esistente AlternativeSecurityIds.
- Mantenere l'attestazione alternativeSecurityIds per l'account utente
<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>
Attestazioni di input:
elemento:
{ "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" }
raccolta:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Attestazioni di output:
raccolta:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
CreateAlternativeSecurityId
Crea una rappresentazione JSON della proprietà alternativeSecurityId dell'utente che può essere usata nelle chiamate a Microsoft Entra ID. Vedere la demo live di questa trasformazione delle attestazioni. Per altre informazioni, vedere lo schema AlternativeSecurityId .
Elemento | TransformationClaimType | Tipo di dati | Note |
---|---|---|---|
InputClaim | chiave | string | Attestazione che specifica l'identificatore utente univoco utilizzato dal provider di identità social. |
InputClaim | identityProvider | string | Attestazione che specifica il nome del provider di identità dell'account di social networking, ad esempio facebook.com. |
OutputClaim | alternativeSecurityId | string | Attestazione generata dopo che è stata richiamata la trasformazione delle attestazioni. Contiene informazioni sull'identità di un utente con account social. Il valore autorità di certificazione è il valore dell'attestazione identityProvider . Il valore issuerUserId è il valore dell'attestazione key nel formato base64. |
Esempio di CreateAlternativeSecurityId
Usare questa trasformazione delle attestazioni per generare un'attestazione alternativeSecurityId
. Viene usato da tutti i profili tecnici di provider di identità di social networking, ad esempio Facebook-OAUTH
. La trasformazione delle attestazioni seguente riceve l'ID dell'account di social networking dell'utente e il nome del provider di identità. L'output di questo profilo tecnico è un formato di stringa JSON che può essere usato nei servizi directory 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>
- Attestazioni di input:
- chiave: 12334
- identityProvider: Facebook.com
- Attestazioni di output:
- alternativeSecurityId: { "autorità di certificazione": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"}
GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
Restituisce l'elenco delle autorità di certificazione dell'attestazione alternativeSecurityIdCollection a una nuova attestazione stringCollection. Vedere la demo live di questa trasformazione delle attestazioni.
Elemento | TransformationClaimType | Tipo di dati | Note |
---|---|---|---|
InputClaim | alternativeSecurityIdCollection | alternativeSecurityIdCollection | Attestazione da usare per ottenere l'elenco dei provider di identità (autorità emittente). |
OutputClaim | identityProvidersCollection | stringCollection | Attestazione generata dopo che è stata richiamata la trasformazione delle attestazioni. Elenco di provider di identità associati all'attestazione di input. |
Esempio di GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
La trasformazione delle attestazioni seguente legge l'attestazione alternativeSecurityIds dell'utente ed estrae l'elenco di nomi di provider di identità associati all'account. Usare l'output identityProvidersCollection per visualizzare l'elenco dei provider di identità associati all'account utente. Oppure, nella pagina di selezione del provider di identità, filtrare l'elenco dei provider di identità basati sull'attestazione di output identityProvidersCollection. Quindi, l'utente può selezionare per collegare una nuova identità di social networking che non è già associata all'account.
<ClaimsTransformation Id="ExtractIdentityProviders" TransformationMethod="GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation">
<InputClaims>
<InputClaim ClaimTypeReferenceId="alternativeSecurityIds" TransformationClaimType="alternativeSecurityIdCollection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="identityProviders" TransformationClaimType="identityProvidersCollection" />
</OutputClaims>
</ClaimsTransformation>
Attestazioni di input:
alternativeSecurityIdCollection:
[ { "issuer": "google.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
Attestazioni di output:
- identityProvidersCollection: [ "facebook.com", "google.com" ]
RemoveAlternativeSecurityIdByIdentityProvider
Rimuove un AlternativeSecurityId dall'attestazione alternativeSecurityIdCollection. Vedere la demo live di questa trasformazione delle attestazioni.
Elemento | TransformationClaimType | Tipo di dati | Note |
---|---|---|---|
InputClaim | identityProvider | string | Attestazione contenente il nome del provider di identità da rimuovere dalla raccolta. |
InputClaim | collection | alternativeSecurityIdCollection | Attestazione utilizzata dalla trasformazione delle attestazioni. La trasformazione delle attestazioni rimuove il provider di identità dalla raccolta. |
OutputClaim | collection | alternativeSecurityIdCollection | Attestazione generata dopo che è stata richiamata la trasformazione delle attestazioni. La nuova raccolta, dopo che il provider di identità è rimosso dalla raccolta. |
Esempio di RemoveAlternativeSecurityIdByIdentityProvider
L'esempio seguente scollega una delle identità di social networking con un account esistente. Per scollegare un'identità di social networking:
AAD-UserReadUsingAlternativeSecurityId
Nei profili tecnici eAAD-UserReadUsingObjectId
restituire l'attestazione dell'utentealternativeSecurityIds
.- Chiedere all'utente di selezionare quale account di social networking rimuovere dall'elenco di provider di identità associati a tale utente.
- Chiamare un profilo tecnico di trasformazione delle attestazioni che chiama la trasformazione delle attestazioni RemoveAlternativeSecurityIdByIdentityProvider, che ha rimosso l'identità di social networking selezionata, usando il nome del provider di identità.
- Mantenere l'attestazione alternativeSecurityIds per l'account utente.
<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>
- Attestazioni di input:
- identityProvider: facebook.com
- raccolta: [ { "autorità di certificazione": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
- Attestazioni di output:
- raccolta: [ { "autorità di certificazione": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Passaggi successivi
- Altri esempi di trasformazione delle attestazioni sono disponibili nel repository GitHub della community di Azure AD B2C