Condividi tramite


Trasformazioni delle attestazioni degli account social

In Azure Active Directory B2C (Azure AD B2C), le identità dell'account social vengono archiviate in un attributo di un alternativeSecurityIds 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 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 questa trasformazione attestazioni è stata richiamata. 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:

  1. AAD-UserReadUsingAlternativeSecurityId Nei profili tecnici e AAD-UserReadUsingObjectId restituisce l'attestazione dell'utentealternativeSecurityIds.
  2. Chiedere all'utente di accedere con uno dei provider di identità che non sono associati a questo utente.
  3. Usando la trasformazione delle attestazioni CreateAlternativeSecurityId, creare un nuovo tipo di attestazione alternativeSecurityId con un nome di AlternativeSecurityId2
  4. Chiamare la trasformazione delle attestazioni AddItemToAlternativeSecurityIdCollection per aggiungere l'attestazione AlternativeSecurityId2 all'attestazione esistente AlternativeSecurityIds.
  5. 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 Key string Attestazione che specifica l'identificatore utente univoco usato dal provider di identità social.
InputClaim identityProvider string Attestazione che specifica il nome del provider di identità dell'account sociale, ad esempio facebook.com.
OutputClaim alternativeSecurityId string Attestazione generata dopo che è stata richiamata la trasformazione 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 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 utilizzare per ottenere l'elenco dei provider di identità (autorità emittente).
OutputClaim identityProvidersCollection stringCollection Attestazione generata dopo che questa trasformazione attestazioni è stata richiamata. 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. L'utente può quindi selezionare per collegare una nuova identità social 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 la chiamata di questa 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:

  1. AAD-UserReadUsingAlternativeSecurityId Nei profili tecnici e AAD-UserReadUsingObjectId restituire l'attestazione dell'utentealternativeSecurityIds.
  2. Chiedere all'utente di selezionare quale account di social networking rimuovere dall'elenco di provider di identità associati a tale utente.
  3. 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à.
  4. Rendere persistente l'attestazione alternativeSecurityIds all'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