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 Partnerverbund mit einem OAuth1-basierten Identitätsanbieter herstellen, z. B. X. Mit dem Identitätsanbieter können sich Benutzer mit ihren vorhandenen sozialen oder Unternehmensidentitäten 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>X</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 vom X-Identitätsanbieter zurückgegebenen Ansprüche:
- 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: