Udostępnij za pośrednictwem


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ą socialIdpAuthenticationdomyś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: