Przekazywanie tokenu dostępu dostawcy tożsamości do aplikacji w usłudze Azure Active Directory B2C

Przed rozpoczęciem użyj selektora Wybierz typ zasad , aby wybrać typ konfigurowanych zasad. Azure Active Directory B2C oferuje dwie metody definiowania sposobu interakcji użytkowników z aplikacjami: za pomocą wstępnie zdefiniowanych przepływów użytkownika lub w pełni konfigurowalnych zasad niestandardowych. Kroki wymagane w tym artykule są inne dla każdej metody.

Przepływ użytkownika w usłudze Azure Active Directory B2C (Azure AD B2C) zapewnia użytkownikom aplikacji możliwość zarejestrowania się lub zalogowania się za pomocą dostawcy tożsamości. Po rozpoczęciu podróży usługa Azure AD B2C odbiera token dostępu od dostawcy tożsamości. Usługa Azure AD B2C używa tego tokenu do pobierania informacji o użytkowniku. Możesz włączyć oświadczenie w przepływie użytkownika, aby przekazać token do aplikacji zarejestrowanych w usłudze Azure AD B2C.

Usługa Azure AD B2C obsługuje przekazywanie tokenu dostępu dostawców tożsamości OAuth 2.0 , takich jak Facebook i Google. W przypadku wszystkich innych dostawców tożsamości oświadczenie jest zwracane puste.

Usługa Azure AD B2C obsługuje przekazywanie tokenu dostępu dostawców tożsamości OAuth 2.0 i OpenID Połączenie. W przypadku wszystkich innych dostawców tożsamości oświadczenie jest zwracane puste. Aby uzyskać więcej informacji, zapoznaj się z pokazem federacji dostawców tożsamości na żywo.

Na poniższym diagramie przedstawiono sposób powrotu tokenu dostawcy tożsamości do aplikacji:

Identity provider pass through flow

Wymagania wstępne

Włączanie oświadczenia

  1. Zaloguj się w witrynie Azure Portal jako administrator globalny dzierżawy usługi Azure AD B2C.

  2. Upewnij się, że używasz katalogu zawierającego dzierżawę usługi Azure AD B2C. Wybierz ikonę Katalogi i subskrypcje na pasku narzędzi portalu.

  3. W ustawieniach portalu | Strona Katalogi i subskrypcje , znajdź katalog usługi Azure AD B2C na liście Nazwa katalogu , a następnie wybierz pozycję Przełącz.

  4. Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, a następnie wyszukaj i wybierz usługę Azure AD B2C.

  5. Wybierz pozycję Przepływy użytkownika (zasady), a następnie wybierz przepływ użytkownika. Na przykład B2C_1_signupsignin1.

  6. Wybierz pozycję Oświadczenia aplikacji.

  7. Włącz oświadczenie tokenu dostępu dostawcy tożsamości .

    Enable the Identity Provider Access Token claim

  8. Kliknij przycisk Zapisz , aby zapisać przepływ użytkownika.

Testowanie przepływu użytkownika

Podczas testowania aplikacji w usłudze Azure AD B2C może być przydatne zwrócenie tokenu usługi Azure AD B2C w celu https://jwt.ms przejrzenia w nim oświadczeń.

  1. Na stronie Przegląd przepływu użytkownika wybierz pozycję Uruchom przepływ użytkownika.

  2. W polu Aplikacja wybierz aplikację, która została wcześniej zarejestrowana. Aby zobaczyć token w poniższym przykładzie, adres URL odpowiedzi powinien zawierać wartość https://jwt.ms.

  3. Kliknij pozycję Uruchom przepływ użytkownika, a następnie zaloguj się przy użyciu poświadczeń konta. Token dostępu dostawcy tożsamości powinien zostać wyświetlony w oświadczeniu idp_access_token .

    Powinna zostać wyświetlona zawartość podobna do poniższego przykładu:

    Decoded token in jwt.ms with idp_access_token block highlighted

Dodawanie elementów oświadczenia

  1. Otwórz plik TrustframeworkExtensions.xml i dodaj następujący element ClaimType z identyfikatorem identityProviderAccessToken do elementu ClaimsSchema :

    <BuildingBlocks>
      <ClaimsSchema>
        <ClaimType Id="identityProviderAccessToken">
          <DisplayName>Identity Provider Access Token</DisplayName>
          <DataType>string</DataType>
          <AdminHelpText>Stores the access token of the identity provider.</AdminHelpText>
        </ClaimType>
        ...
      </ClaimsSchema>
    </BuildingBlocks>
    
  2. Dodaj element OutputClaim do elementu TechnicalProfile dla każdego dostawcy tożsamości OAuth 2.0, dla którego chcesz uzyskać token dostępu. W poniższym przykładzie pokazano element dodany do profilu technicznego serwisu Facebook:

    <ClaimsProvider>
      <DisplayName>Facebook</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Facebook-OAUTH">
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="{oauth2:access_token}" />
          </OutputClaims>
          ...
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  3. Zapisz plik TrustframeworkExtensions.xml .

  4. Otwórz plik zasad jednostki uzależnionej, taki jak SignUpOrSignIn.xml, i dodaj element OutputClaim do pliku TechnicalProfile:

    <RelyingParty>
      <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
      <TechnicalProfile Id="PolicyProfile">
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="idp_access_token"/>
        </OutputClaims>
        ...
      </TechnicalProfile>
    </RelyingParty>
    
  5. Zapisz plik zasad.

Testowanie zasad

Podczas testowania aplikacji w usłudze Azure AD B2C może być przydatne zwrócenie https://jwt.ms tokenu usługi Azure AD B2C w celu przejrzenia w nim oświadczeń.

Przekazywanie plików

  1. Zaloguj się w witrynie Azure Portal.
  2. Upewnij się, że używasz katalogu zawierającego dzierżawę usługi Azure AD B2C. Wybierz ikonę Katalogi i subskrypcje na pasku narzędzi portalu.
  3. W ustawieniach portalu | Strona Katalogi i subskrypcje , znajdź katalog usługi Azure AD B2C na liście Nazwa katalogu , a następnie wybierz pozycję Przełącz.
  4. Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, a następnie wyszukaj i wybierz usługę Azure AD B2C.
  5. Wybierz pozycję Identity Experience Framework.
  6. Na stronie Zasady niestandardowe kliknij pozycję Upload Zasady.
  7. Wybierz pozycję Zastąp zasady, jeśli istnieją, a następnie wyszukaj i wybierz plik TrustframeworkExtensions.xml .
  8. Wybierz pozycję Przekaż.
  9. Powtórz kroki od 5 do 7 dla pliku jednostki uzależnionej, na przykład SignUpOrSignIn.xml.

Uruchamianie zasad

  1. Otwórz zmienione zasady. Na przykład B2C_1A_signup_signin.

  2. W polu Aplikacja wybierz aplikację, która została wcześniej zarejestrowana. Aby zobaczyć token w poniższym przykładzie, adres URL odpowiedzi powinien zawierać wartość https://jwt.ms.

  3. Wybierz pozycję Uruchom teraz.

    Powinna zostać wyświetlona zawartość podobna do poniższego przykładu:

    Decoded token in jwt.ms with idp_access_token block highlighted

Następne kroki

Dowiedz się więcej w omówieniu tokenów usługi Azure AD B2C.