Share via


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 anspråkstransformeringar för det sociala kontot av schemat Identity Experience Framework i Azure AD B2C. Mer information finns i ClaimsTransformations.

AddItemToAlternativeSecurityIdCollection

Lägger till en AlternativeSecurityId i ett alternativeSecurityIdCollection anspråk. Titta på livedemon för den här anspråkstransformeringen.

Element TransformationClaimType Datatyp Kommentarer
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 detta anges lägger anspråkstransformeringen item till 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:

  1. I de AAD-UserReadUsingAlternativeSecurityId tekniska profilerna och AAD-UserReadUsingObjectId matar du ut användarens alternativeSecurityIds anspråk.
  2. Be användaren att logga in med en av identitetsprovidrar som inte är associerade med den här användaren.
  3. Med hjälp av anspråkstransformeringen CreateAlternativeSecurityId skapar du en ny alternativSecurityId-anspråkstyp med namnet AlternativeSecurityId2
  4. Anropa anspråkstransformeringen AddItemToAlternativeSecurityIdCollection för att lägga till AlternativeSecurityId2-anspråket i det befintliga AlternativeSecurityIds-anspråket .
  5. Spara anspråket alternativeSecurityIds 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. Titta på livedemon för den här anspråkstransformeringen. Mer information finns i schemat AlternativeSecurityId .

Element TransformationClaimType Datatyp Kommentarer
InputClaim key 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å identitetsprovidern för det sociala kontot, 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 anspråkets identityProvider värde. 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åkstransformering 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 . Titta på livedemon för den här anspråkstransformeringen.

Element TransformationClaimType Datatyp Kommentarer
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 filtrera listan över identitetsprovidrar baserat på utdataidentitetProvidersCollection-anspråk på sidan för val av identitetsprovider. 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 . Ta en titt på livedemon för den här anspråkstransformeringen.

Element TransformationClaimType Datatyp Kommentarer
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åkstransformationen tar bort identitetprovidern från samlingen.
OutputClaim samling alternativeSecurityIdCollection Anspråket som skapas efter denna anspråkstransformering 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:

  1. I de AAD-UserReadUsingAlternativeSecurityId tekniska profilerna och AAD-UserReadUsingObjectId matar du ut användarens alternativeSecurityIds anspråk.
  2. Be användaren att välja vilket socialt konto som ska tas bort från listan med identitetsprovidrar som är associerade med den här användaren.
  3. Anropa en teknisk profil för anspråksomvandling som anropar anspråksomvandlingen RemoveAlternativeSecurityIdByIdentityProvider , som tog bort den valda sociala identiteten med identitetsproviderns namn.
  4. Spara alternativeSecurityIds-anspråket 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>
  • Inkommande anspråk:
    • identityProvider: facebook.com
    • collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
  • Utgående anspråk:
    • collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]

Nästa steg