Definiowanie profilu technicznego OAuth1 w zasadach niestandardowych usługi Azure Active Directory B2C
Uwaga
W usłudze Azure Active Directory B2C zasady niestandardowe są przeznaczone głównie do rozwiązywania złożonych scenariuszy. W przypadku większości scenariuszy zalecamy używanie wbudowanych przepływów użytkownika. Jeśli nie zostało to zrobione, dowiedz się więcej o niestandardowym pakiecie startowym zasad w temacie Wprowadzenie do zasad niestandardowych w usłudze Active Directory B2C.
Usługa Azure Active Directory B2C (Azure AD B2C) zapewnia obsługę dostawcy tożsamości protokołu OAuth 1.0. W tym artykule opisano specyfikę profilu technicznego na potrzeby interakcji z dostawcą oświadczeń, który obsługuje ten standardowy protokół. Profil techniczny OAuth1 umożliwia federację z dostawcą tożsamości opartym na protokole OAuth1, takim jak X. Federating z dostawcą tożsamości, umożliwia użytkownikom logowanie się przy użyciu istniejących tożsamości społecznościowych lub tożsamości przedsiębiorstwa.
Protokół
Atrybut Name elementu Protocol musi być ustawiony na OAuth1
. Na przykład protokół profilu technicznego Twitter-OAUTH1 to OAuth1
.
<TechnicalProfile Id="Twitter-OAUTH1">
<DisplayName>X</DisplayName>
<Protocol Name="OAuth1" />
...
Oświadczenia wejściowe
Elementy InputClaims i InputClaimsTransformations są puste lub nieobecne.
Oświadczenia wyjściowe
Element OutputClaims zawiera listę oświadczeń zwróconych przez dostawcę tożsamości OAuth1. Może być konieczne zamapować nazwę oświadczenia zdefiniowanego w zasadach na nazwę zdefiniowaną w dostawcy tożsamości. Możesz również uwzględnić oświadczenia, które nie są zwracane przez dostawcę tożsamości, o ile ustawisz atrybut DefaultValue .
Element OutputClaimsTransformations może zawierać kolekcję elementów OutputClaimsTransformation , które są używane do modyfikowania oświadczeń wyjściowych lub generowania nowych.
W poniższym przykładzie pokazano oświadczenia zwrócone przez dostawcę tożsamości X:
- Oświadczenie user_id mapowane na oświadczenie issuerUserId .
- Oświadczenie screen_name mapowane na oświadczenie displayName .
- Oświadczenie e-mail bez mapowania nazwy.
Profil techniczny zwraca również oświadczenia, które nie są zwracane przez dostawcę tożsamości:
- Oświadczenie identityProvider , które zawiera nazwę dostawcy tożsamości.
- Oświadczenie authenticationSource z wartością
socialIdpAuthentication
domyślną .
<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>
Metadane
Atrybut | Wymagania | opis |
---|---|---|
client_id | Tak | Identyfikator aplikacji dostawcy tożsamości. |
ProviderName | Nie. | Nazwa dostawcy tożsamości. |
request_token_endpoint | Tak | Adres URL punktu końcowego tokenu żądania zgodnie z specyfikacją RFC 5849. |
authorization_endpoint | Tak | Adres URL punktu końcowego autoryzacji zgodnie z RFC 5849. |
access_token_endpoint | Tak | Adres URL punktu końcowego tokenu zgodnie z RFC 5849. |
ClaimsEndpoint | Nie. | Adres URL punktu końcowego informacji o użytkowniku. |
ClaimsResponseFormat | Nie. | Format odpowiedzi oświadczeń. |
Klucze kryptograficzne
Element CryptographicKeys zawiera następujący atrybut:
Atrybut | Wymagania | opis |
---|---|---|
client_secret | Tak | Wpis tajny klienta aplikacji dostawcy tożsamości. |
Adres URI przekierowania
Po skonfigurowaniu identyfikatora URI przekierowania dostawcy tożsamości wprowadź .https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-id}/oauth1/authresp
Pamiętaj, aby zastąpić {tenant-name}
ciąg nazwą dzierżawy (na przykład contosob2c) i {policy-id}
identyfikatorem zasad (na przykład b2c_1a_policy). Identyfikator URI przekierowania musi znajdować się we wszystkich małych literach. Dodaj adres URL przekierowania dla wszystkich zasad korzystających z identyfikatora logowania dostawcy tożsamości.
Przykłady: