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 pokazano internetową aplikację Java Spring Boot, która umożliwia użytkownikom logowanie i uzyskuje token dostępu na potrzeby wywoływania Microsoft Graph. Używa biblioteki klienckiej Microsoft Entra ID Spring Boot Starter dla języka Java do uwierzytelniania, autoryzacji i uzyskiwania tokenów. Używa Microsoft Graph SDK for Java do pobierania danych z usługi Graph.
Na poniższym diagramie przedstawiono topologię aplikacji:
Diagram przedstawiający topologię aplikacji.
Aplikacja używa biblioteki klienta Microsoft Entra ID Spring Boot Starter dla języka Java do uzyskania tokenu dostępu dla usługi Microsoft Graph z usługi Microsoft Entra ID. Token dostępu potwierdza, że użytkownik jest upoważniony do uzyskania dostępu do punktu końcowego interfejsu API Microsoft Graph zgodnie z definicją w zakresie uprawnień.
Wymagania wstępne
- JDK w wersji 15. Ten przykład został opracowany w systemie z językiem Java 15, ale może być zgodny z innymi wersjami.
- Maven 3
- Java Extension Pack for Visual Studio Code jest zalecany do uruchomienia tego przykładu w programie Visual Studio Code.
- Dzierżawa Microsoft Entra ID. Aby uzyskać więcej informacji, zobacz Jak uzyskać dzierżawę Microsoft Entra ID.
- Konto użytkownika w dzierżawie Microsoft Entra ID. Ten przykład nie działa z osobistym kontem Microsoft. W związku z tym, jeśli zalogowałeś się do portalu Azure za pomocą konta osobistego i nie masz konta użytkownika w katalogu, musisz je teraz utworzyć.
- Visual Studio Code
- Narzędzia platformy Azure dla programu Visual Studio Code
Zalecenia
- Podstawowa znajomość Spring Framework.
- 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 4-spring-web-app/2-Authorization-I/call-graph
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ładowe aplikacje w dzierżawie Microsoft Entra ID
W tym przykładzie istnieje jeden projekt. W poniższych sekcjach pokazano, jak zarejestrować aplikację przy użyciu witryny Azure Portal.
Wybierz dzierżawę Microsoft Entra ID, 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 Microsoft Entra ID, wybierz swój profil w rogu portalu Azure, a następnie wybierz pozycję Przełącz katalog, aby przełączyć sesję na żądaną dzierżawę Microsoft Entra ID.
Zarejestruj aplikację (java-spring-webapp-call-graph)
Aby zarejestrować aplikację, wykonaj następujące czynności:
Przejdź do portalu Azure i wybierz pozycję Microsoft Entra ID.
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ź opisową nazwę aplikacji wyświetlaną użytkownikom aplikacji — na przykład .
- W obszarze Obsługiwane typy kont wybierz pozycję Tylko konta w tym katalogu organizacyjnym.
- W sekcji Identyfikator URI przekierowania (opcjonalnie) wybierz w polu kombi pozycję Web 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.
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.
Na stronie rejestracji aplikacji wybierz okienko uprawnienia interfejsu API w okienku nawigacji, aby otworzyć stronę w celu uzyskania dostępu do interfejsów API wymaganych przez aplikację.
Wybierz pozycję Dodaj uprawnienia, a następnie upewnij się, że jest wybrana karta Interfejsy API firmy Microsoft.
W sekcji Często używane interfejsy API firmy Microsoft wybierz pozycję Microsoft Graph.
W sekcji Uprawnienia delegowane wybierz pozycję User.Read z listy. W razie potrzeby użyj pola wyszukiwania.
Wybierz Dodaj uprawnienia.
Skonfiguruj aplikację (java-spring-webapp-call-graph), aby korzystała z 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\application.yml.
Znajdź symbol zastępczy i zastąp istniejącą wartość identyfikatorem dzierżawy Microsoft Entra.
Znajdź symbol zastępczy i zastąp istniejącą wartość identyfikatorem aplikacji lub aplikacji skopiowanym z portalu Azure.
Znajdź symbol zastępczy i zastąp istniejącą wartość wartością zapisaną podczas tworzenia , skopiowaną z portalu Azure.
Uruchamianie aplikacji przykładowej
- Wdróż do usługi Azure Container Apps
- Uruchom lokalnie
W poniższych sekcjach pokazano, jak wdrożyć przykład w usłudze Azure Container Apps.
Wymagania wstępne
- Konto Azure. Jeśli go nie masz, utwórz bezpłatne konto. Aby kontynuować, musisz mieć uprawnienia
ContributorlubOwnerw subskrypcji platformy Azure. Aby uzyskać więcej informacji, zobacz Przypisywanie ról platformy Azure przy użyciu portalu Azure. - Azure CLI.
- Rozszerzenie interfejsu CLI usługi Azure Container Apps w wersji lub nowszej. Aby zainstalować najnowszą wersję, użyj polecenia .
- Java Development Kit w wersji 17 lub nowszej.
- Maven.
Przygotowywanie projektu Spring
Aby przygotować projekt, wykonaj następujące czynności:
Użyj następującego polecenia Maven, aby skompilować projekt:
mvn clean verifyUruchom przykładowy projekt lokalnie, używając następującego polecenia:
mvn spring-boot:run
Ustawienia
Aby zalogować się do platformy Azure z poziomu interfejsu wiersza polecenia, uruchom następujące polecenie i postępuj zgodnie z monitami, aby ukończyć proces uwierzytelniania.
az login
Aby upewnić się, że używasz najnowszej wersji interfejsu wiersza polecenia, uruchom polecenie uaktualniania.
az upgrade
Następnie zainstaluj lub zaktualizuj rozszerzenie usługi Azure Container Apps dla interfejsu wiersza polecenia.
Jeśli podczas uruchamiania poleceń w interfejsie wiersza polecenia platformy Azure wystąpią błędy związane z brakującymi parametrami, upewnij się, że masz zainstalowaną najnowszą wersję rozszerzenia Azure Container Apps.
az extension add --name containerapp --upgrade
Uwaga
Począwszy od maja 2024 r., rozszerzenia interfejsu wiersza polecenia platformy Azure domyślnie nie włączają funkcji w wersji zapoznawczej. Aby uzyskać dostęp do funkcji w wersji zapoznawczej usługi Container Apps, zainstaluj rozszerzenie Container Apps za pomocą .
az extension add --name containerapp --upgrade --allow-preview true
Teraz, gdy obecne rozszerzenie lub moduł jest zainstalowany, zarejestruj przestrzenie nazw i .
Uwaga
Zasoby usługi Azure Container Apps zostały przeniesione z przestrzeni nazw do przestrzeni nazw . Aby uzyskać więcej informacji, zobacz Migracja przestrzeni nazw z Microsoft.Web do Microsoft.App w marcu 2022 r.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Tworzenie środowiska usługi Azure Container Apps
Teraz, gdy konfiguracja interfejsu wiersza polecenia platformy Azure została ukończona, możesz zdefiniować zmienne środowiskowe używane w tym artykule.
Zdefiniuj następujące zmienne w powłoce Bash.
export RESOURCE_GROUP="ms-identity-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-ms-identity-containerapps"
export API_NAME="ms-identity-api"
export JAR_FILE_PATH_AND_NAME="./target/ms-identity-spring-boot-webapp-0.0.1-SNAPSHOT.jar"
Utwórz grupę zasobów.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION \
Utwórz środowisko z automatycznie wygenerowanym obszarem roboczym usługi Log Analytics.
az containerapp env create \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location $LOCATION
Pokaż domyślną domenę środowiska aplikacji kontenera. Zanotuj tę domenę do użycia w kolejnych sekcjach.
az containerapp env show \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--query properties.defaultDomain
Przygotowywanie aplikacji do wdrożenia
Po wdrożeniu aplikacji na platformie Azure Container Apps adres URL przekierowania zmienia się na adres URL przekierowania wdrożonej instancji aplikacji w usłudze Azure Container Apps. Wykonaj następujące kroki, aby zmienić te ustawienia w pliku application.yml :
Przejdź do pliku src\main\resources\application.yml Twojej aplikacji i zmień wartość na nazwę domeny Twojej wdrożonej aplikacji, jak pokazano w poniższym przykładzie. Pamiętaj, aby zastąpić i rzeczywistymi wartościami. Na przykład, używając domeny domyślnej dla środowiska usługi Azure Container Apps z poprzedniego kroku oraz jako nazwy aplikacji, należy użyć jako wartości .
post-logout-redirect-uri: https://<API_NAME>.<default-domain-of-container-app-environment>Po zapisaniu tego pliku użyj następującego polecenia, aby ponownie skompilować aplikację:
mvn clean package
Ważne
Plik application.yml aplikacji przechowuje obecnie wartość sekretu klienta w parametrze . Nie jest dobrą praktyką przechowywanie tej wartości w tym pliku. Możesz również narazić się na ryzyko, jeśli zatwierdzisz ten plik w repozytorium Git. Informacje o zalecanym podejściu można znaleźć w artykule Zarządzanie wpisami tajnymi w usłudze Azure Container Apps.
Aktualizowanie rejestracji aplikacji Microsoft Entra ID
Ponieważ identyfikator URI przekierowania zmienia się w wdrożonej aplikacji w usłudze Azure Container Apps, musisz również zmienić identyfikator URI przekierowania w rejestracji aplikacji 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 URI aplikacji, dodając na końcu — na przykład .
Wybierz Zapisz.
Wdrażanie aplikacji
Wdróż pakiet JAR w usłudze Azure Container Apps.
Uwaga
W razie potrzeby możesz określić wersję zestawu JDK w zmiennych środowiskowych kompilacji języka Java. Aby uzyskać więcej informacji, zobacz Zmienne środowiskowe kompilacji dla języka Java w usłudze Azure Container Apps.
Teraz możesz wdrożyć swój plik WAR za pomocą polecenia CLI .
az containerapp up \
--name $API_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--environment $ENVIRONMENT \
--artifact <JAR_FILE_PATH_AND_NAME> \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
Uwaga
Domyślna wersja zestawu JDK to 17. Jeśli musisz zmienić wersję JDK, aby zapewnić zgodność z aplikacją, możesz użyć argumentu , aby dostosować numer wersji.
Aby uzyskać więcej informacji o zmiennych środowiskowych kompilacji, zobacz Zmienne środowiskowe kompilacji dla języka Java w usłudze Azure Container Apps.
Weryfikowanie aplikacji
W tym przykładzie polecenie zawiera argument , który zwraca w pełni kwalifikowaną nazwę domeny (FQDN), znaną również jako adres URL aplikacji. Wykonaj następujące kroki, aby sprawdzić dzienniki aplikacji w celu zbadania dowolnego problemu z wdrażaniem:
Uzyskaj dostęp do adresu URL aplikacji wyjściowej na stronie Dane wyjściowe sekcji Wdrażanie.
W okienku nawigacji na stronie Przegląd wystąpienia usługi Azure Container Apps wybierz pozycję Dzienniki, aby sprawdzić dzienniki 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. Ten przycisk ma napis Zaloguj się przy pierwszym uruchomieniu aplikacji. Alternatywnie wybierz szczegóły tokenu lub graf wywołań. Ponieważ ta strona jest chroniona i wymaga uwierzytelniania, nastąpi automatyczne przekierowanie do strony logowania.
- Na następnej stronie postępuj zgodnie z instrukcjami i zaloguj się przy użyciu konta w dzierżawie Microsoft Entra ID.
- Na ekranie zgody zwróć uwagę na żądane zakresy.
- Po pomyślnym zakończeniu przepływu logowania powinno nastąpić przekierowanie do strony głównej , która pokazuje stan logowania — lub jedną z pozostałych stron, w zależności od tego, który przycisk wyzwolił przepływ logowania.
- Zwróć uwagę, że przycisk kontekstowy zawiera teraz pozycję Wyloguj się i wyświetla swoją nazwę użytkownika.
- Jeśli jesteś na stronie głównej, wybierz Szczegóły tokenu identyfikatora, aby wyświetlić niektóre zdekodowane deklaracje tokenu identyfikatora.
- Wybierz Wywołaj Graph, aby wywołać punkt końcowy /me usługi Microsoft Graph i zobaczyć wybrane szczegóły użytkownika.
- Użyj przycisku w rogu, aby się wylogować. Strona stanu odzwierciedla nowy stan.
Informacje o kodzie
W tym przykładzie pokazano, jak używać biblioteki klienckiej Microsoft Entra ID Spring Boot Starter dla języka Java, aby logować użytkowników w dzierżawie Microsoft Entra ID i uzyskiwać token dostępu do wywoływania interfejsu API Microsoft Graph. Przykład korzysta również z szablonów startowych Spring Oauth2 Client i Spring Web Boot.
Zawartość
W poniższej tabeli przedstawiono zawartość przykładowego folderu projektu:
| Plik/folder | Opis |
|---|---|
| pom.xml | Zależności aplikacji. |
| src/main/resources/templates/ | Szablony Thymeleaf dla interfejsu użytkownika. |
| src/main/resources/application.yml | Konfiguracja biblioteki startowej rozruchu aplikacji i programu Microsoft Entra ID. |
| src/main/java/com/microsoft/azuresamples/msal4j/msidentityspringbootwebapp/ | Ten katalog zawiera główne klasy wejścia aplikacji, kontrolera i konfiguracji. |
| .../MsIdentitySpringBootWebappApplication.java | Klasa główna. |
| .../SampleController.java | Kontroler z mapowaniami punktów końcowych. |
| .../SecurityConfig.java | Konfiguracja zabezpieczeń — na przykład trasy wymagają uwierzytelniania. |
| .../Utilities.java | Klasa narzędziowa — na przykład do filtrowania oświadczeń w tokenie ID. |
| CHANGELOG.md | Lista zmian w przykładzie. |
| CONTRIBUTING.md | Wskazówki dotyczące wnoszenia wkładu do przykładu. |
| LICENCJA | Licencja przykładu. |
Oświadczenia tokenu ID
Aby wyodrębnić szczegóły tokenu, aplikacja korzysta z obiektów i frameworka Spring Security w mapowaniu żądania, jak pokazano w poniższym przykładzie. Zobacz przykładowy kontroler, aby uzyskać szczegółowe informacje o tym, jak ta aplikacja korzysta z oświadczeń zawartych w tokenie identyfikatora.
import org.springframework.security.oauth2.core.oidc.user.OidcUser;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
//...
@GetMapping(path = "/some_path")
public String tokenDetails(@AuthenticationPrincipal OidcUser principal) {
Map<String, Object> claims = principal.getIdToken().getClaims();
}
Linki logowania i wylogowywanie
W przypadku logowania aplikacja wysyła żądanie do punktu końcowego logowania Microsoft Entra ID automatycznie skonfigurowanego przez bibliotekę klienta Microsoft Entra ID Spring Boot Starter dla języka Java, jak pokazano w poniższym przykładzie:
<a class="btn btn-success" href="/oauth2/authorization/azure">Sign In</a>
Aby się wylogować, aplikacja wysyła żądanie POST do punktu końcowego , jak pokazano w poniższym przykładzie:
<form action="#" th:action="@{/logout}" method="post">
<input class="btn btn-warning" type="submit" value="Sign Out" />
</form>
Elementy interfejsu użytkownika zależne od uwierzytelniania
Aplikacja ma prostą logikę na stronach szablonu interfejsu użytkownika do określania zawartości do wyświetlenia na podstawie tego, czy użytkownik jest uwierzytelniony, jak pokazano w poniższym przykładzie przy użyciu tagów Spring Security Thymeleaf:
<div sec:authorize="isAuthenticated()">
this content only shows to authenticated users
</div>
<div sec:authorize="isAnonymous()">
this content only shows to not-authenticated users
</div>
Zabezpieczanie tras przy użyciu AADWebSecurityConfigurerAdapter
Domyślnie aplikacja chroni strony Szczegóły tokenu ID i Graf wywołań, tak aby dostęp do nich mieli tylko zalogowani użytkownicy. Aplikacja konfiguruje te trasy na podstawie właściwości z pliku application.yml. Aby skonfigurować konkretne wymagania aplikacji, możesz rozszerzyć w jednej ze swoich klas. Na przykład zobacz klasę SecurityConfig tej aplikacji, jak pokazano w poniższym kodzie:
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends AADWebSecurityConfigurerAdapter{
@Value( "${app.protect.authenticated}" )
private String[] protectedRoutes;
@Override
public void configure(HttpSecurity http) throws Exception {
// use required configuration form AADWebSecurityAdapter.configure:
super.configure(http);
// add custom configuration:
http.authorizeRequests()
.antMatchers(protectedRoutes).authenticated() // limit these pages to authenticated users (default: /token_details, /call_graph)
.antMatchers("/**").permitAll(); // allow all other routes.
}
}
Graf wywołań
Gdy użytkownik przechodzi do , aplikacja tworzy instancję elementu przy użyciu elementu lub , przygotowanych przez starter rozruchowy Microsoft Entra ID. Aplikacja prosi element o wywołanie punktu końcowego i wyświetla szczegóły aktualnie zalogowanego użytkownika. pochodzi z Microsoft Graph SDK dla platformy Java w wersji 3.
Obiekt musi być skonfigurowany z odpowiednimi zakresami. Zobacz plik application.yml i poniższą sekcję Scopes. Element służy do udostępniania tokenu dostępu i umieszczania go w nagłówku żądań , jak pokazano w poniższym przykładzie:
//see SampleController.java
@GetMapping(path = "/call_graph")
public String callGraph(@RegisteredOAuth2AuthorizedClient("graph") OAuth2AuthorizedClient graphAuthorizedClient) {
// See the Utilities.graphUserProperties() method for the full example of the following operation:
GraphServiceClient graphServiceClient = Utilities.getGraphServiceClient(graphAuthorizedClient);
User user = graphServiceClient.me().buildRequest().get();
return user.displayName;
}
Poniższy przykład z pliku application.yml przedstawia żądane zakresy:
# see application.yml file
authorization-clients:
graph:
# Specifies the Microsoft Graph scopes that your app needs access to:
scopes: https://graph.microsoft.com/User.Read
Zakresy
Scopes określają poziom dostępu, o który występuje aplikacja do Microsoft Entra ID. Aby uzyskać zakresy programu Microsoft Graph żądane przez tę aplikację, zobacz application.yml.
Domyślnie aplikacja ustawia wartość scopes na . Zakres służy do uzyskiwania dostępu do informacji o aktualnie zalogowanym użytkowniku z punktu końcowego /me. Prawidłowe żądania do punktu końcowego /me muszą zawierać zakres .
Po zalogowaniu się użytkownika identyfikator Entra firmy Microsoft wyświetla użytkownikowi okno dialogowe zgody na podstawie zakresów żądanych przez aplikację. Jeśli użytkownik wyrazi zgodę na co najmniej jeden zakres uprawnień i uzyska token, zakresy, na które użytkownik wyraził zgodę, są zakodowane w wynikowym tokenie dostępu.
W tej aplikacji element wyświetla token dostępu, który potwierdza, na jakie zakresy użytkownik wyraził zgodę. Aplikacja używa tego tokenu do utworzenia wystąpienia , które obsługuje żądania do Microsoft Graph.
Za pomocą tworzone jest żądanie i wysyłane do . Token dostępu jest umieszczany w nagłówku żądania .
Więcej informacji
- Dokumentacja platformy tożsamości firmy Microsoft
- Omówienie biblioteki uwierzytelniania firmy Microsoft (MSAL)
- Szybki start: Rejestrowanie aplikacji w platformie tożsamości firmy Microsoft
- Szybki start: konfigurowanie aplikacji klienckiej w celu uzyskania dostępu do internetowych interfejsów API
- Opis procesu wyrażania zgody na aplikację Microsoft Entra ID
- Zrozum zgodę użytkownika i administratora
- Obiekty aplikacji i jednostki usługi w Microsoft Entra ID
- Chmury krajowe
- Przykłady kodu MSAL
- Biblioteka kliencka Azure Active Directory Spring Boot Starter dla języka Java
- Biblioteka uwierzytelniania firmy Microsoft dla języka Java (MSAL4J)
- MSAL4J Wiki
- Tokeny identyfikacyjne
- Tokeny dostępu na platformie tożsamości firmy Microsoft
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.