Dela 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 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:

  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 de identitetsprovidrar som inte är associerade med den här användaren.
  3. Med hjälp av createAlternativeSecurityId-anspråkstransformeringen skapar du en ny alternativSecurityId-anspråkstyp med namnetAlternativeSecurityId2
  4. Anropa transformering av AddItemToAlternativeSecurityIdCollection-anspråk för att lägga till AlternativeSecurityId2-anspråket i det befintliga AlternativeSecurityIds-anspråket.
  5. 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:

  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 listans 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 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