Definieren eines technischen OAuth1-Profils in einer benutzerdefinierten Richtlinie in Azure Active Directory B2C

Hinweis

In Azure Active Directory B2C sind benutzerdefinierte Richtlinien in erster Linie für komplexe Szenarien konzipiert. Für die meisten Szenarien empfehlen wir die Verwendung von integrierten Benutzerflows. Informieren Sie sich, sofern noch nicht geschehen, unter Tutorial: Erstellen von Benutzerflows und benutzerdefinierten Richtlinien in Azure Active Directory B2C über das Starter Pack für benutzerdefinierte Richtlinien.

Azure Active Directory B2C (Azure AD B2C) bietet Unterstützung für Identitätsanbieter mit dem OAuth 1.0-Protokoll. In diesem Artikel werden die Einzelheiten eines technischen Profils für die Interaktion mit einem Anspruchsanbieter thematisiert, der dieses standardisierte Protokoll unterstützt. Mit einem technischen OAuth1-Profil können Sie einen Verbund mit einem OAuth1-basierten Identitätsanbieter wie Twitter erstellen. Über einen Verbund mit dem Identitätsanbieter können sich Benutzer mit ihren vorhandenen Identitäten aus sozialen Netzwerken oder Unternehmen anmelden.

Protocol

Das Name-Attribut des Protocol-Elements muss auf OAuth1 festgelegt werden. Das Protokoll für das technische Profil Twitter-OAUTH1 ist z.B. OAuth1.

<TechnicalProfile Id="Twitter-OAUTH1">
  <DisplayName>Twitter</DisplayName>
  <Protocol Name="OAuth1" />
  ...

Eingabeansprüche

Die Elemente InputClaims und InputClaimsTransformations sind leer oder nicht vorhanden.

Ausgabeansprüche

Das OutputClaims-Element enthält eine Liste von Ansprüchen, die vom OAuth1-Identitätsanbieter zurückgegeben wurden. Sie müssen den Namen des Anspruchs, der in Ihrer Richtlinie definiert ist, dem Namen, der für den Identitätsanbieter definiert wurde, zuordnen. Sie können auch Ansprüche, die nicht vom Identitätsanbieter zurückgegeben wurden, einfügen, sofern Sie das DefaultValue-Attribut festlegen.

Das OutputClaimsTransformations-Element darf eine Sammlung von OutputClaimsTransformation-Elementen, die zum Ändern der Ausgabeansprüche oder zum Generieren neuer verwendet werden, enthalten.

Das folgende Beispiel zeigt die Ansprüche, die vom Identitätsanbieter Twitter zurückgegeben wurden:

  • Der Anspruch user_id wird dem Anspruch issuerUserId zugeordnet.
  • Der Anspruch screen_name wird dem Anspruch displayName zugeordnet.
  • Dem Anspruch email wird kein Name zugeordnet.

Das technische Profil gibt auch Ansprüche zurück, die vom Identitätsanbieter nicht zurückgegeben werden:

  • Der Anspruch identityProvider enthält den Namen des Identitätsanbieters.
  • Der Anspruch authenticationSource enthält als Standardwert socialIdpAuthentication.
<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="user_id" />
  <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="screen_name" />
  <OutputClaim ClaimTypeReferenceId="email" />
  <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="twitter.com" />
  <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
</OutputClaims>

Metadaten

attribute Erforderlich Beschreibung
client_id Ja Die Anwendungs-ID des Identitätsanbieters.
ProviderName Nein Der Name des Identitätsanbieters.
request_token_endpoint Ja Die URL des Endpunkts für das Anforderungstoken gemäß RFC 5849.
authorization_endpoint Ja Die URL des Autorisierungsendpunkts gemäß RFC 5849.
access_token_endpoint Ja Die URL des Tokenendpunkts gemäß RFC 5849.
ClaimsEndpoint Nein Die URL des Endpunkts für Benutzerinformationen.
ClaimsResponseFormat Nein Das Antwortformat für Ansprüche.

Kryptografische Schlüssel

Das CryptographicKeys-Element enthält das folgende Attribut:

attribute Erforderlich Beschreibung
client_secret Ja Der geheime Clientschlüssel der Anwendung des Identitätsanbieters.

Umleitungs-URI

Wenn Sie den Umleitungs-URI Ihres Identitätsanbieters konfigurieren, geben Sie https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-id}/oauth1/authresp an. Ersetzen Sie {tenant-name} durch den Namen Ihres Mandanten (z. B. „contosob2c“) und {policy-id} durch den Bezeichner Ihrer Richtlinie (z. B. „b2c_1a_policy“). Der Umleitungs-URI muss klein geschrieben sein. Fügen Sie eine Umleitungs-URL für alle Richtlinien hinzu, die die Anmeldung des Identitätsanbieters verwenden.

Beispiele: