Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule przedstawiono aplikację Java działającą na serwerze Tomcat, która uwierzytelnia użytkowników za pomocą usługi Azure Active Directory B2C (Azure AD B2C) przy użyciu biblioteki Microsoft Authentication Library for Java (MSAL4J).
Uwaga
Od 1 maja 2025 r. Azure Active Directory B2C nie jest już dostępna do zakupu dla nowych klientów. Istniejący klienci mogą nadal korzystać z usługi Azure AD B2C z obsługą techniczną do co najmniej maja 2030 r. W przypadku nowych projektów zarządzania tożsamościami klientów i dostępem (CIAM) użyj Tożsamość zewnętrzna Microsoft Entra zamiast tego.
Na poniższym diagramie przedstawiono topologię aplikacji:
Diagram przedstawiający topologię aplikacji.
Aplikacja używa biblioteki MSAL4J do logowania użytkowników i uzyskiwania tokenu identyfikatora z usługi Azure AD B2C. Token ID potwierdza, że użytkownik jest uwierzytelniony w dzierżawie Azure AD B2C.
Wymagania wstępne
- JDK w wersji 8 lub nowszej
- Maven 3
- Dzierżawa usługi Azure AD B2C. Aby uzyskać więcej informacji, zobacz Samouczek: tworzenie dzierżawy Azure Active Directory B2C
- Konto użytkownika w dzierżawie usługi Azure AD B2C.
- Tomcat 9
- Visual Studio Code
- Narzędzia platformy Azure dla programu Visual Studio Code
Zalecenia
- Podstawowa znajomość serwletów Java / Jakarta.
- Pewna znajomość terminalu systemu Linux/OSX.
- jwt.ms do inspekcji tokenów.
- Fiddler do monitorowania aktywności sieciowej i diagnozowania problemów.
- Śledź blog Microsoft Entra, aby być na bieżąco z najnowszymi informacjami.
Skonfiguruj przykład
W poniższych sekcjach pokazano, jak skonfigurować przykładową aplikację.
Klonowanie lub pobieranie przykładowego repozytorium
Aby sklonować przykład, otwórz okno powłoki Bash i użyj następującego polecenia:
git clone https://github.com/Azure-Samples/ms-identity-msal-java-samples.git
cd 3-java-servlet-web-app/1-Authentication/sign-in-b2c
Alternatywnie, przejdź do repozytorium ms-identity-msal-java-samples, a następnie pobierz je jako plik .zip i rozpakuj na dysku twardym.
Ważne
Aby uniknąć ograniczeń długości ścieżki pliku w systemie Windows, sklonuj lub wyodrębnij repozytorium do katalogu w pobliżu katalogu głównego dysku twardego.
Zarejestruj przykładową aplikację w dzierżawie Azure AD B2C
Przykład zawiera wcześniej zarejestrowaną aplikację na potrzeby testów. Jeśli chcesz korzystać z własnej dzierżawy i aplikacji Azure AD B2C, wykonaj czynności opisane w poniższych sekcjach, aby zarejestrować i skonfigurować aplikację w portalu Azure. W przeciwnym razie przejdź do kroków opisanych w sekcji Uruchamianie przykładu.
Wybierz dzierżawę Azure AD B2C, w której chcesz utworzyć swoje aplikacje
Aby wybrać dzierżawcę, wykonaj następujące kroki:
Zaloguj się do portalu Azure.
Jeśli Twoje konto znajduje się w więcej niż jednej dzierżawie usługi Azure AD B2C, wybierz swój profil w rogu portalu Azure, a następnie wybierz Przełącz katalog, aby przełączyć sesję do żądanej dzierżawy usługi Azure AD B2C.
Utwórz przepływy użytkowników i zasady niestandardowe
Aby utworzyć typowe przepływy użytkownika, takie jak rejestracja, logowanie, edytowanie profilu i resetowanie hasła, zobacz Samouczek: tworzenie przepływów użytkownika w usłudze Azure Active Directory B2C.
Należy również rozważyć utworzenie zasad niestandardowych w usłudze Azure Active Directory B2C, jednak wykracza to poza zakres tego samouczka.
Dodaj zewnętrznych dostawców tożsamości
Zobacz Samouczek: jak dodać dostawców tożsamości do aplikacji w usłudze Azure Active Directory B2C.
Rejestrowanie aplikacji (ms-identity-b2c-java-servlet-webapp-authentication)
Aby zarejestrować aplikację, wykonaj następujące czynności:
Przejdź do witryny Azure portal i wybierz Azure AD B2C.
Wybierz pozycję Rejestracje aplikacji w okienku nawigacji, a następnie wybierz pozycję Nowa rejestracja.
Na wyświetlonej stronie „Rejestrowanie aplikacji” wprowadź następujące informacje dotyczące rejestracji aplikacji:
- W sekcji Nazwa wprowadź znaczącą nazwę aplikacji wyświetlaną użytkownikom aplikacji — na przykład .
- W obszarze Obsługiwane typy kont wybierz pozycję Konta w dowolnym katalogu organizacyjnym i osobiste konta Microsoft (np. Skype, Xbox, Outlook.com).
- W sekcji URI przekierowania (opcjonalnie) wybierz Web w polu kombi i wprowadź następujący identyfikator URI przekierowania: .
Wybierz pozycję Zarejestruj, aby utworzyć aplikację.
Na stronie rejestracji aplikacji znajdź i skopiuj wartość Identyfikator aplikacji (klienta), aby użyć jej później. Używasz tej wartości w pliku konfiguracyjnym aplikacji lub w plikach konfiguracyjnych aplikacji.
Wybierz Zapisz, aby zapisać zmiany.
Na stronie rejestracji aplikacji wybierz pozycję Certificates & secrets w panelu nawigacyjnym, aby otworzyć stronę, na której można wygenerować klucze tajne i przekazać certyfikaty.
W sekcji Klucze tajne klienta wybierz pozycję Nowy klucz tajny klienta.
Wpisz opis — na przykład klucz tajny aplikacji.
Wybierz datę wygaśnięcia klucza tajnego lub określ niestandardowy okres ważności. Klucze tajne klienta mogą mieć maksymalny okres ważności wynoszący 24 miesiące, a firma Microsoft zaleca okres ważności krótszy niż 12 miesięcy. W przypadku aplikacji produkcyjnych preferuj certyfikat lub poświadczenie federacyjne tożsamości zamiast klucza tajnego klienta.
Wybierz Dodaj. Zostanie wyświetlona wygenerowana wartość.
Skopiuj i zapisz wygenerowaną wartość do użycia w kolejnych krokach. Ta wartość jest potrzebna dla plików konfiguracji kodu. Ta wartość nie jest ponownie wyświetlana i nie można jej pobrać w żaden inny sposób. Dlatego przed przejściem do innego ekranu lub okienka pamiętaj, aby zapisać go w witrynie Azure Portal.
Skonfiguruj aplikację (ms-identity-b2c-java-servlet-webapp-authentication), aby używała rejestracji Twojej aplikacji
Aby skonfigurować aplikację, wykonaj następujące kroki:
Uwaga
W poniższych krokach oznacza to samo co lub .
Otwórz projekt w środowisku IDE.
Otwórz plik ./src/main/resources/authentication.properties.
Znajdź właściwość i zastąp istniejącą wartość identyfikatorem aplikacji lub aplikacji z witryny Azure Portal.
Znajdź właściwość i zastąp istniejącą wartość wartością zachowaną podczas tworzenia aplikacji w portalu Azure.
Znajdź właściwość i zastąp istniejący clientId aplikacji wartością umieszczoną w w kroku 1 tej sekcji.
Znajdź właściwość
aad.authorityi zastąp pierwsze wystąpieniefabrikamb2cnazwą dzierżawy usługi Azure AD B2C, w której utworzono aplikacjęms-identity-b2c-java-servlet-webapp-authenticationw portalu Azure.Znajdź właściwość i zastąp drugie wystąpienie elementu nazwą dzierżawy Azure AD B2C, w której utworzono aplikację w portalu Azure.
Znajdź właściwość i zastąp ją nazwą zasady przepływu użytkownika rejestracji/logowania utworzonej w dzierżawie Azure AD B2C, w której utworzono aplikację w portalu Azure.
Znajdź właściwość i zastąp ją nazwą zasad przepływu użytkownika resetowania hasła, które zostały utworzone w dzierżawie Azure AD B2C, w której w portalu Azure utworzono aplikację .
Znajdź właściwość i zastąp ją nazwą zasad przepływu użytkownika służących do edycji profilu, utworzonych w dzierżawie usługi Azure AD B2C, w której utworzono aplikację w portalu Azure.
Skompiluj przykład
Aby skompilować przykład przy użyciu narzędzia Maven, przejdź do katalogu zawierającego plik pom.xml dla przykładu, a następnie uruchom następujące polecenie:
mvn clean package
To polecenie generuje plik war , który można uruchomić na różnych serwerach aplikacji.
Uruchamianie aplikacji przykładowej
- Wdróż na platformę Azure App Service
- Uruchom lokalnie
W poniższych sekcjach przedstawiono, jak wdrożyć przykład do usługi Azure App Service.
Wymagania wstępne
Wtyczka Maven dla aplikacji Azure App Service
Jeśli narzędzie Maven nie jest preferowanym narzędziem programistycznym, zobacz następujące podobne samouczki korzystające z innych narzędzi:
- IntelliJ IDEA
- Eclipse
- Visual Studio Code
Konfigurowanie wtyczki Maven
Podczas wdrażania do usługi Azure App Service wdrożenie automatycznie używa poświadczeń platformy Azure z Azure CLI. Jeśli interfejs wiersza polecenia platformy Azure nie jest zainstalowany lokalnie, wtyczka Maven uwierzytelnia się przy użyciu protokołu OAuth lub logowania urządzenia. Aby uzyskać więcej informacji, zobacz uwierzytelnianie za pomocą wtyczek Maven.
Aby skonfigurować wtyczkę, wykonaj następujące czynności:
Uruchom następujące polecenie, aby skonfigurować wdrożenie. To polecenie umożliwia skonfigurowanie systemu operacyjnego usługi Azure App Service, wersji języka Java i wersji serwera Tomcat.
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:configDla Utwórz nową konfigurację uruchomienia naciśnij Y, a następnie naciśnij Enter.
W polu Zdefiniuj wartość dla systemu operacyjnego naciśnij 1 dla systemu Windows lub 2 dla systemu Linux, a następnie naciśnij Enter.
Dla Zdefiniuj wartość dla javaVersion naciśnij 2, aby wybrać Java 11, a następnie naciśnij Enter.
Dla Zdefiniuj wartość dla webContainer naciśnij 4 dla serwera Tomcat 9.0, a następnie naciśnij Enter.
Dla Zdefiniuj wartość parametru pricingTier naciśnij Enter, aby wybrać domyślną warstwę P1v2.
Aby potwierdzić, naciśnij Y, a następnie naciśnij Enter.
W poniższym przykładzie przedstawiono dane wyjściowe procesu wdrażania:
Please confirm webapp properties
AppName : msal4j-servlet-auth-1707209552268
ResourceGroup : msal4j-servlet-auth-1707209552268-rg
Region : centralus
PricingTier : P1v2
OS : Linux
Java Version: Java 11
Web server stack: Tomcat 9.0
Deploy to slot : false
Confirm (Y/N) [Y]: [INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 37.112 s
[INFO] Finished at: 2024-02-06T08:53:02Z
[INFO] ------------------------------------------------------------------------
Po potwierdzeniu wybranych opcji wtyczka dodaje wymagany element wtyczki i ustawienia do pliku projektu pom.xml, aby skonfigurować aplikację do uruchamiania w usłudze Azure App Service.
Odpowiednia część pliku pom.xml powinna wyglądać podobnie do poniższego przykładu:
<build>
<plugins>
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>>azure-webapp-maven-plugin</artifactId>
<version>x.xx.x</version>
<configuration>
<schemaVersion>v2</schemaVersion>
<resourceGroup>your-resourcegroup-name</resourceGroup>
<appName>your-app-name</appName>
...
</configuration>
</plugin>
</plugins>
</build>
Konfiguracje usługi App Service można modyfikować bezpośrednio w pom.xml. Niektóre typowe konfiguracje są wymienione w poniższej tabeli:
| Właściwości | Wymagane | Opis |
|---|---|---|
subscriptionId |
fałsz | Identyfikator subskrypcji. |
resourceGroup |
prawda | Grupa zasobów platformy Azure dla aplikacji. |
appName |
prawda | Nazwa aplikacji. |
region |
fałsz | Region, w którym ma być hostowana aplikacja. Domyślna wartość to . Obsługiwane regiony znajdziesz w sekcji Obsługiwane regiony. |
pricingTier |
fałsz | Poziom cenowy Twojej aplikacji. Wartość domyślna to dla obciążenia produkcyjnego. Zalecana minimalna wartość dla programowania i testowania w języku Java to . Aby uzyskać więcej informacji, zobacz Cennik usługi App Service. |
runtime |
fałsz | Konfiguracja środowiska uruchomieniowego. Aby uzyskać więcej informacji, zobacz Szczegóły konfiguracji. |
deployment |
fałsz | Konfiguracja wdrożenia. Aby uzyskać więcej informacji, zobacz Szczegóły konfiguracji. |
Pełną listę konfiguracji można znaleźć w dokumentacji referencyjnej wtyczki. Wszystkie wtyczki usługi Azure Maven mają wspólny zestaw konfiguracji. Informacje na temat tych konfiguracji można znaleźć w sekcji Typowe konfiguracje. Informacje o konfiguracjach dotyczących usługi Azure App Service można znaleźć w artykule Azure app: Configuration Details.
Pamiętaj, aby zachować wartości i do późniejszego użycia.
Przygotowywanie aplikacji do wdrożenia
Po wdrożeniu aplikacji do usługi App Service adres URL przekierowania zmieni się na adres URL przekierowania wdrożonego wystąpienia tej aplikacji. Aby zmienić te ustawienia w pliku właściwości, wykonaj następujące czynności:
Przejdź do pliku authentication.properties Twojej aplikacji i zmień wartość na nazwę domenową wdrożonej aplikacji, jak pokazano w poniższym przykładzie. Jeśli na przykład w poprzednim kroku jako nazwę aplikacji wybrano , teraz musisz użyć dla wartości . Upewnij się, że zmieniono także protokół z na .
# app.homePage is by default set to dev server address and app context path on the server # for apps deployed to azure, use https://your-sub-domain.azurewebsites.net app.homePage=https://<your-app-name>.azurewebsites.netPo zapisaniu tego pliku użyj następującego polecenia, aby ponownie skompilować aplikację:
mvn clean package
Ważne
W tym samym pliku authentication.properties masz ustawienie dla . Wdrożenie tej wartości w usłudze App Service nie jest dobrym rozwiązaniem. Nie jest też dobrą praktyką pozostawianie tej wartości w kodzie i potencjalne wypchnięcie jej do repozytorium Git. Aby usunąć tę wartość tajną z kodu, więcej szczegółowych wskazówek znajdziesz w sekcji Wdrażanie do usługi App Service — usuwanie wpisu tajnego. Te wskazówki dodają dodatkowe kroki dotyczące przekazywania wartości wpisu tajnego do Key Vault oraz korzystania z odwołań do usługi Key Vault.
Aktualizowanie rejestracji aplikacji Microsoft Entra ID
Ponieważ adres URI przekierowania zmienia się na adres wdrożonej aplikacji w Azure App Service, musisz również zmienić adres URI przekierowania w rejestracji aplikacji w Microsoft Entra ID. Aby wprowadzić tę zmianę, wykonaj następujące czynności:
Przejdź do strony Rejestracje aplikacji na platformie tożsamości firmy Microsoft dla deweloperów.
Użyj pola wyszukiwania, aby znaleźć rejestrację aplikacji — na przykład .
Otwórz rejestrację aplikacji, wybierając jej nazwę.
Wybierz Uwierzytelnianie z menu.
W sekcji WebIdentyfikatory URI przekierowania wybierz pozycję Dodaj identyfikator URI.
Wpisz identyfikator URI Twojej aplikacji, dodając na końcu — na przykład .
Wybierz Zapisz.
Wdrażanie aplikacji
Możesz teraz wdrożyć swoją aplikację w usłudze Azure App Service. Użyj następującego polecenia, aby upewnić się, że zalogowano się do środowiska platformy Azure w celu wykonania wdrożenia:
az login
Mając już gotową całą konfigurację w pliku pom.xml, możesz teraz użyć następującego polecenia, aby wdrożyć aplikację w języku Java na platformie Azure:
mvn package azure-webapp:deploy
Po zakończeniu wdrożenia Twoja aplikacja jest dostępna pod adresem . Otwórz adres URL w lokalnej przeglądarce, w której powinna zostać wyświetlona strona początkowa aplikacji .
Poznaj przykład
Aby zapoznać się z przykładem, wykonaj następujące czynności:
- Zwróć uwagę na stan logowania lub wylogowania wyświetlany na środku ekranu.
- Wybierz przycisk kontekstowy w rogu. Na tym przycisku widnieje napis Zaloguj się przy pierwszym uruchomieniu aplikacji.
- Na następnej stronie postępuj zgodnie z instrukcjami i zaloguj się przy użyciu konta wybranego dostawcy tożsamości.
- Zwróć uwagę, że przycisk kontekstowy zawiera teraz pozycję Wyloguj się i wyświetla swoją nazwę użytkownika.
- Wybierz ID Token Details, aby wyświetlić niektóre zdekodowane oświadczenia tokenu identyfikatora.
- Istnieje również możliwość edytowania profilu. Wybierz link, aby edytować szczegóły, takie jak nazwa wyświetlana, miejsce zamieszkania i zawód.
- Użyj przycisku w rogu, aby się wylogować.
- Po wylogowaniu przejdź do następującego adresu URL strony ze szczegółami tokenu: . Tutaj możesz zobaczyć, jak aplikacja wyświetla błąd zamiast claimów tokenu ID.
Informacje o kodzie
W tym przykładzie pokazano, jak używać biblioteki MSAL4J do logowania użytkowników do dzierżawy usługi Azure AD B2C.
Zawartość
W poniższej tabeli przedstawiono zawartość przykładowego folderu projektu:
| Plik/katalog | Opis |
|---|---|
| AuthHelper.java | Funkcje pomocnika na potrzeby uwierzytelniania. |
| Config.java | Uruchamia się przy uruchamianiu i konfiguruje czytnik właściwości i rejestrator. |
| authentication.properties | Microsoft Entra ID i konfiguracja programu. |
| AuthenticationFilter.java | Przekierowuje nieuwierzytelnione żądania do chronionych zasobów na stronie 401. |
| MsalAuthSession | Tworzone przy użyciu elementu . Przechowuje wszystkie atrybuty sesji powiązanej z biblioteką MSAL w atrybucie sesji. |
| *Servlet.java | Wszystkie dostępne punkty końcowe są definiowane w klasach Języka Java z nazwami kończącymi się na Servlet.. |
| CHANGELOG.md | Lista zmian w przykładzie. |
| CONTRIBUTING.md | Wskazówki dotyczące wnoszenia wkładu do przykładu. |
| LICENCJA | Licencja przykładu. |
ConfidentialClientApplication
Instancja jest tworzona w pliku AuthHelper.java, jak pokazano w poniższym przykładzie. Ten obiekt ułatwia utworzenie adresu URL autoryzacji usługi Azure AD B2C, a także pomaga w wymianie tokenu uwierzytelniania dla tokenu dostępu.
IClientSecret secret = ClientCredentialFactory.createFromSecret(SECRET);
confClientInstance = ConfidentialClientApplication
.builder(CLIENT_ID, secret)
.b2cAuthority(AUTHORITY + policy)
.build();
Następujące parametry są używane do tworzenia instancji:
- Identyfikator klienta aplikacji.
- Klucz tajny klienta, który jest wymagany w przypadku poufnych aplikacji klienckich.
- Element Authority usługi Azure AD B2C połączony z odpowiednim dla rejestracji, logowania, edycji profilu lub resetowania hasła.
W tym przykładzie wartości te są odczytywane z pliku authentication.properties przy użyciu czytnika właściwości w pliku Config.java.
Przewodnik krok po kroku
Poniższe kroki zawierają przewodnik po funkcjonalności aplikacji:
Pierwszym krokiem w procesie logowania jest wysłanie żądania do punktu końcowego dla Twojej dzierżawy Azure Active Directory B2C. Instancja MSAL4J służy do tworzenia adresu URL żądania autoryzacji, a aplikacja przekierowuje przeglądarkę na ten adres URL, jak pokazano w poniższym przykładzie:
final ConfidentialClientApplication client = getConfidentialClientInstance(policy); final AuthorizationRequestUrlParameters parameters = AuthorizationRequestUrlParameters .builder(REDIRECT_URI, Collections.singleton(SCOPES)).responseMode(ResponseMode.QUERY) .prompt(Prompt.SELECT_ACCOUNT).state(state).nonce(nonce).build(); final String redirectUrl = client.getAuthorizationRequestUrl(parameters).toString(); Config.logger.log(Level.INFO, "Redirecting user to {0}", redirectUrl); resp.setStatus(302); resp.sendRedirect(redirectUrl);Poniższa lista zawiera opis funkcji tego kodu:
: Parametry, które należy ustawić, aby utworzyć obiekt AuthorizationRequestUrl.
: Miejsce, do którego usługa Azure AD B2C przekierowuje przeglądarkę — wraz z kodem autoryzacyjnym — po wprowadzeniu poświadczeń przez użytkownika.
: Zakresy to uprawnienia żądane przez aplikację.
Zwykle, trzy zakresy wystarczyłyby do otrzymania odpowiedzi zawierającej token identyfikacyjny. Jednak biblioteka MSAL4J wymaga, aby wszystkie odpowiedzi z usługi Azure AD B2C zawierały również token dostępu.
Aby usługa Azure AD B2C zrezygnowała z tokenu dostępu, a także tokenu identyfikatora, żądanie musi zawierać dodatkowy zakres zasobów. Ponieważ ta aplikacja w rzeczywistości nie wymaga zewnętrznego zakresu zasobów, dodaje własny identyfikator klienta jako czwarty zakres w celu otrzymania tokenu dostępu.
Pełną listę zakresów żądanych przez aplikację można znaleźć w pliku authentication.properties .
: Usługa Azure AD B2C może zwrócić odpowiedź w postaci parametrów formularza w żądaniu HTTP POST lub w postaci parametrów ciągu zapytania w żądaniu HTTP GET.
: Usługa Azure AD B2C powinna poprosić użytkownika o wybranie konta, przy użyciu którego chce się uwierzytelnić.
: Unikatowa zmienna ustawiana przez aplikację w sesji przy każdym żądaniu tokenu i usuwana po otrzymaniu odpowiedniego zwrotnego wywołania przekierowania z usługi Azure AD B2C. Zmienna stanu zapewnia, że żądania usługi Azure AD B2C kierowane do rzeczywiście pochodzą z żądań autoryzacji usługi Azure AD B2C zainicjowanych przez tę aplikację i w ramach tej sesji, zapobiegając tym samym atakom CSRF. Odbywa się to w pliku AADRedirectServlet.java .
: unikatowa zmienna ustawiana przez aplikację w sesji przy każdym żądaniu tokenu i usuwana po otrzymaniu odpowiadającego mu tokenu. Ta wartość nonce jest przenoszona do wynikowych tokenów wydawanych przez usługę Azure AD B2C, zapewniając tym samym, że nie dochodzi do ataku polegającego na ponownym użyciu tokenu.
Użytkownikowi jest wyświetlany monit logowania przez usługę Azure Active Directory B2C. Jeśli próba logowania zakończy się pomyślnie, przeglądarka użytkownika zostanie przekierowana do punktu końcowego przekierowania aplikacji. Prawidłowe żądanie do tego punktu końcowego zawiera kod autoryzacyjny.
Instancja następnie wymienia ten kod autoryzacyjny na token identyfikacyjny i token dostępu z usługi Azure Active Directory B2C, jak pokazano w poniższym przykładzie:
final AuthorizationCodeParameters authParams = AuthorizationCodeParameters .builder(authCode, new URI(REDIRECT_URI)) .scopes(Collections.singleton(SCOPES)).build(); final ConfidentialClientApplication client = AuthHelper .getConfidentialClientInstance(policy); final Future<IAuthenticationResult> future = client.acquireToken(authParams); final IAuthenticationResult result = future.get();Poniższa lista zawiera opis funkcji tego kodu:
- : Parametry, które muszą zostać ustawione, aby wymienić kod autoryzacyjny na token identyfikacyjny i/lub token dostępu.
- : Kod autoryzacji otrzymany w punkcie końcowym przekierowania.
- : URI przekierowania użyty w poprzednim kroku należy ponownie przekazać.
- : Zakresy użyte w poprzednim kroku należy ponownie przekazać.
Jeśli zakończy się powodzeniem, oświadczenia zawarte w tokenie zostaną wyodrębnione, a oświadczenie nonce zostanie zweryfikowane względem wartości nonce przechowywanej w sesji, jak pokazano w poniższym przykładzie:
parseJWTClaimsSetAndStoreResultInSession(msalAuth, result, serializedTokenCache); validateNonce(msalAuth) processSuccessfulAuthentication(msalAuth);Jeśli nonce zostanie pomyślnie zweryfikowany, stan uwierzytelnienia jest zapisywany w sesji po stronie serwera z wykorzystaniem metod udostępnianych przez klasę , jak pokazano w poniższym przykładzie:
msalAuth.setAuthenticated(true); msalAuth.setUsername(msalAuth.getIdTokenClaims().get("name"));
Więcej informacji
- Co to jest usługa Azure Active Directory B2C?
- Typy aplikacji, które można używać w usłudze Active Directory B2C
- Zalecenia i najlepsze rozwiązania dotyczące usługi Azure Active Directory B2C
- Sesja usługi Azure AD B2C
- Biblioteka Microsoft Authentication Library (MSAL) dla języka Java
Aby uzyskać więcej informacji o tym, jak działają protokoły OAuth 2.0 w tym scenariuszu i innych scenariuszach, zobacz Scenariusze uwierzytelniania dla Microsoft Entra ID.