Anspruchstransformationen für Social Media-Konten
In Azure Active Directory B2C (Azure AD B2C) werden Identitäten von Social Media-Konten in einem alternativeSecurityIds
-Attribut eines Anspruchstyps alternativeSecurityIdCollection gespeichert. Jedes Element in der alternativeSecurityIdCollection gibt den Aussteller (Name des Identitätsanbieters, z.B. „facebook.com“), und issuerUserId
an, eine eindeutige Benutzer-ID für den Aussteller.
"alternativeSecurityIds": [{
"issuer": "google.com",
"issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
},
{
"issuer": "facebook.com",
"issuerUserId": "MTIzNDU="
}]
Dieser Artikel enthält Beispiele für die Verwendung von Anspruchstransformationen für Social Media-Konten des Schemas des Frameworks für die Identitätsfunktion von Azure AD B2C. Weitere Informationen finden Sie unter ClaimsTransformations.
AddItemToAlternativeSecurityIdCollection
Fügt eine AlternativeSecurityId
an einen alternativeSecurityIdCollection
-Anspruch an. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | Element | Zeichenfolge | Der Anspruch, der dem Ausgabeanspruch hinzugefügt werden soll. |
InputClaim | collection | alternativeSecurityIdCollection | Der Anspruch, der von der Anspruchstransformation verwendet wird, sofern in der Richtlinie vorhanden. Bei einer Angabe fügt die Anspruchstransformation das item am Ende der Sammlung hinzu. |
OutputClaim | collection | alternativeSecurityIdCollection | Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. Die neue Sammlung, die die Elemente aus der Eingabe-collection und das item enthält. |
Beispiel für AddItemToAlternativeSecurityIdCollection
Das folgende Beispiel verknüpft eine neue Social Media-Identität mit einem vorhandenen Konto. So verknüpfen Sie eine neue Social Media-Identität
- Geben Sie in den technischen Profilen
AAD-UserReadUsingAlternativeSecurityId
undAAD-UserReadUsingObjectId
denalternativeSecurityIds
-Anspruch des Benutzers aus. - Bitten Sie Benutzer*innen, sich mit einem der Identitätsanbieter anzumelden, die nicht mit diesen Benutzer*innen verknüpft sind.
- Erstellen Sie mithilfe der Anspruchstransformation CreateAlternativeSecurityId einen neuen alternativeSecurityId-Anspruchstyp mit dem Namen
AlternativeSecurityId2
. - Rufen Sie die Anspruchstransformation AddItemToAlternativeSecurityIdCollection auf, um den AlternativeSecurityId2-Anspruch dem vorhandenen AlternativeSecurityIds-Anspruch hinzuzufügen.
- Behalten Sie den alternativeSecurityIds-Anspruch im Benutzerkonto bei.
<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>
Eingabeansprüche:
item:
{ "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" }
collection:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Ausgabeansprüche:
collection:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
CreateAlternativeSecurityId
Erstellt eine JSON-Darstellung der alternativeSecurityId-Eigenschaft des Benutzers, die in Aufrufen an Microsoft Entra ID verwendet werden kann. Sehen Sie sich die Livedemo dieser Anspruchstransformation an. Weitere Informationen finden Sie im AlternativeSecurityId-Schema.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | Schlüssel | Zeichenfolge | Der Anspruch, der die eindeutige Benutzer-ID, die vom Identitätsanbieter eines sozialen Netzwerks verwendet wird, angibt |
InputClaim | identityProvider | Zeichenfolge | Der Anspruch, der den Identitätsanbieter eines Social Media-Kontos, z. B. „facebook.com“, angibt |
OutputClaim | alternativeSecurityId | Zeichenfolge | Der Anspruch, der erstellt wird, nachdem die Anspruchstransformation aufgerufen wurde. Enthält Informationen zur Identität eines Benutzers mit einem Social Media-Konto.
issuer ist der Wert des identityProvider -Anspruchs.
issuerUserId ist der Wert des key -Anspruchs im Base64-Format. |
Beispiel für CreateAlternativeSecurityId
Verwenden Sie diese Anspruchstransformation zum Generieren eines Anspruchs vom Typ alternativeSecurityId
. Sie wird von allen technischen Profilen für Social Media-Identitätsanbieter wie z.B. Facebook-OAUTH
verwendet. Die folgende Anspruchstransformation empfängt die ID des Social Media-Kontos des Benutzers und den Namen des Identitätsanbieters. Die Ausgabe dieses technischen Profils ist eine Zeichenfolge im JSON-Format, die in Microsoft Entra ID-Verzeichnisdiensten verwendet werden kann.
<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>
- Eingabeansprüche:
- key: 12334
- identityProvider: Facebook.com
- Ausgabeansprüche:
- alternativeSecurityId: { "issuer": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }
GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
Gibt eine Liste mit den Ausstellern aus dem alternativeSecurityIdCollection-Anspruch in einem neuen stringCollection-Anspruch zurück. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | alternativeSecurityIdCollection | alternativeSecurityIdCollection | Der Anspruch, der zum Abrufen der Liste der Identitätsanbieter (Aussteller) verwendet werden soll |
OutputClaim | identityProvidersCollection | stringCollection | Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. Eine Liste der Identitätsanbieter, die dem Eingabeanspruch zugeordnet sind |
Beispiel für GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
Die folgende Anspruchstransformation liest den alternativeSecurityIds-Anspruch des Benutzers und extrahiert die Liste der Identitätsanbieternamen, die diesem Konto zugeordnet sind. Verwenden Sie die ausgegebene identityProvidersCollection, um dem Benutzer die Liste der Identitätsanbieter, die dem Konto zugeordnet sind, anzuzeigen. Oder filtern Sie auf der Auswahlseite für Identitätsanbieter die Liste der Identitätsanbieter basierend auf dem ausgegebenen identityProvidersCollection-Anspruch. Benutzer*innen können dann eine neue Social-Media-Identität auswählen, die noch nicht mit dem Konto verknüpft ist.
<ClaimsTransformation Id="ExtractIdentityProviders" TransformationMethod="GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation">
<InputClaims>
<InputClaim ClaimTypeReferenceId="alternativeSecurityIds" TransformationClaimType="alternativeSecurityIdCollection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="identityProviders" TransformationClaimType="identityProvidersCollection" />
</OutputClaims>
</ClaimsTransformation>
Eingabeansprüche:
alternativeSecurityIdCollection:
[ { "issuer": "google.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
Ausgabeansprüche:
- identityProvidersCollection: [ "facebook.com", "google.com" ]
RemoveAlternativeSecurityIdByIdentityProvider
Entfernt eine AlternativeSecurityId aus einem alternativeSecurityIdCollection-Anspruch. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | identityProvider | Zeichenfolge | Der Anspruch mit dem Namen des Identitätsanbieters, der aus der Sammlung entfernt werden soll |
InputClaim | collection | alternativeSecurityIdCollection | Der Anspruch, der von der Anspruchstransformation verwendet wird. Die Anspruchstransformation entfernt den identityProvider aus der Sammlung. |
OutputClaim | collection | alternativeSecurityIdCollection | Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. Die neue Sammlung, nachdem der identityProvider aus der Sammlung entfernt wurde. |
Beispiel für RemoveAlternativeSecurityIdByIdentityProvider
Das folgende Beispiel hebt die Verknüpfung einer Social Media-Identität mit einem vorhandenen Konto auf. So heben Sie die Verknüpfung einer Social Media-Identität auf
- Geben Sie in den technischen Profilen
AAD-UserReadUsingAlternativeSecurityId
undAAD-UserReadUsingObjectId
denalternativeSecurityIds
-Anspruch des Benutzers aus. - Bitten Sie den Benutzer, das Social Media-Konto auszuwählen, das aus der Liste der diesem Benutzer zugeordneten Identitätsanbietern entfernt werden soll.
- Rufen Sie ein technisches Profil für eine Anspruchstransformation auf, das die Anspruchstransformation RemoveAlternativeSecurityIdByIdentityProvider aufruft, die die ausgewählte Social Media-Identität anhand des Identitätsanbieternamens entfernt.
- Behalten Sie den alternativeSecurityIds-Anspruch im Benutzerkonto bei.
<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>
- Eingabeansprüche:
- identityProvider: facebook.com
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
- Ausgabeansprüche:
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Nächste Schritte
- Weitere Beispiele für die Anspruchstransformation finden Sie im GitHub-Repository der Azure-AD-B2C-Community