Delen via


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:

  1. Voer in de AAD-UserReadUsingAlternativeSecurityId en AAD-UserReadUsingObjectId technische profielen de claim van alternativeSecurityIds de gebruiker uit.
  2. Vraag de gebruiker zich aan te melden bij een van de id-providers die niet aan deze gebruiker zijn gekoppeld.
  3. Maak met behulp van de claimtransformatie CreateAlternativeSecurityId een nieuw claimtype alternativeSecurityId met een naam van AlternativeSecurityId2
  4. Roep de claimtransformatie AddItemToAlternativeSecurityIdCollection aan om de claim AlternativeSecurityId2 toe te voegen aan de bestaande claim AlternativeSecurityIds.
  5. 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:

  1. Voer in de AAD-UserReadUsingAlternativeSecurityId en AAD-UserReadUsingObjectId technische profielen de claim van alternativeSecurityIds de gebruiker uit.
  2. Vraag de gebruiker om te selecteren welk sociaal account moet worden verwijderd uit de lijst met id-providers die aan deze gebruiker zijn gekoppeld.
  3. 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.
  4. 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