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:
Wymagania wstępne
- Utwórz przepływ użytkownika, aby użytkownicy mogli zarejestrować się i zalogować się do aplikacji.
- Rejestrowanie aplikacji internetowej.
Włączanie oświadczenia
Zaloguj się w witrynie Azure Portal jako administrator globalny dzierżawy usługi Azure AD B2C.
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.
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.
Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, a następnie wyszukaj i wybierz usługę Azure AD B2C.
Wybierz pozycję Przepływy użytkownika (zasady), a następnie wybierz przepływ użytkownika. Na przykład B2C_1_signupsignin1.
Wybierz pozycję Oświadczenia aplikacji.
Włącz oświadczenie tokenu dostępu dostawcy tożsamości .
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ń.
Na stronie Przegląd przepływu użytkownika wybierz pozycję Uruchom przepływ użytkownika.
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
.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:
Dodawanie elementów oświadczenia
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>
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>
Zapisz plik TrustframeworkExtensions.xml .
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>
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
- Zaloguj się w witrynie Azure Portal.
- 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.
- 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.
- Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, a następnie wyszukaj i wybierz usługę Azure AD B2C.
- Wybierz pozycję Identity Experience Framework.
- Na stronie Zasady niestandardowe kliknij pozycję Upload Zasady.
- Wybierz pozycję Zastąp zasady, jeśli istnieją, a następnie wyszukaj i wybierz plik TrustframeworkExtensions.xml .
- Wybierz pozycję Przekaż.
- Powtórz kroki od 5 do 7 dla pliku jednostki uzależnionej, na przykład SignUpOrSignIn.xml.
Uruchamianie zasad
Otwórz zmienione zasady. Na przykład B2C_1A_signup_signin.
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
.Wybierz pozycję Uruchom teraz.
Powinna zostać wyświetlona zawartość podobna do poniższego przykładu:
Następne kroki
Dowiedz się więcej w omówieniu tokenów usługi Azure AD B2C.