Sichern von Java Spring Boot-Apps mit Azure Active Directory B2C
In diesem Artikel wird eine Java Spring Boot-Web-App veranschaulicht, die Benutzer in Ihrem Azure Active Directory B2C-Mandanten mit der Azure AD B2C Spring Boot Starter-Clientbibliothek für Java anmeldet. Es verwendet das OpenID Connect-Protokoll.
In der folgenden Abbildung wird die Topologie für diese App veranschaulicht:
Die Client-App verwendet die Azure AD B2C Spring Boot Starter-Clientbibliothek für Java, um einen Benutzer anzumelden und ein ID-Token von Azure AD B2C abzurufen. Das ID-Token beweist, dass der Benutzer bei Azure AD B2C authentifiziert ist und ermöglicht dem Benutzer den Zugriff auf geschützte Routen.
Voraussetzungen
- JDK-Version 15. Dieses Beispiel wurde auf einem System mit Java 15 entwickelt, kann aber mit anderen Versionen kompatibel sein.
- Maven 3
- Java Extension Pack für Visual Studio Code wird empfohlen, um dieses Beispiel in Visual Studio Code auszuführen.
- Einen Azure AD B2C-Mandanten. Weitere Informationen finden Sie unter Tutorial: Erstellen eines Azure Active Directory-B2C-Mandanten
- Visual Studio Code
- Azure-Tools für Visual Studio Code
Empfehlungen
- Vertrautheit mit dem Spring Framework.
- Vertrautheit mit Linux/OSX-Terminal.
- jwt.ms zum Überprüfen Ihrer Token.
- Fiddler zur Überwachung Ihrer Netzwerkaktivität und Problembehandlung.
- Lesen Sie den Microsoft Entra ID-Blog, um mit den neuesten Entwicklungen auf dem neuesten Stand zu bleiben.
Einrichten des Beispiels
Die folgenden Abschnitte zeigen Ihnen, wie der Beispielcode für die Anwendung eingerichtet wird.
Klonen oder Herunterladen des Beispielrepositorys
Um das Beispiel zu klonen, öffnen Sie ein Bash-Fenster, und verwenden Sie den folgenden Befehl:
git clone https://github.com/Azure-Samples/ms-identity-msal-java-samples.git
cd 4-spring-web-app/1-Authentication/sign-in-b2c
Wechseln Sie alternativ zum Repository ms-identity-msal-java-samples, laden Sie es dann als .zip-Datei herunter, und extrahieren Sie diese auf Ihre Festplatte.
Wichtig
Um Längenbeschränkungen für Dateipfade unter Windows zu vermeiden, klonen oder extrahieren Sie das Repository in ein Verzeichnis in der Nähe des Stamms Ihrer Festplatte.
Dieses Beispiel enthält eine vorab registrierte Anwendung für Demozwecke. Wenn Sie Ihren eigenen Azure AD B2C-Mandanten und Ihre eigene Anwendung verwenden möchten, registrieren und konfigurieren Sie die Anwendung im Azure-Portal. Weitere Informationen finden Sie im Abschnitt Registrieren der App . Fahren Sie andernfalls mit den Schritten im Abschnitt Ausführen des Beispiels fort.
Auswählen des Azure AD B2C-Mandanten, in dem Sie Ihre Anwendungen erstellen möchten
Verwenden Sie die folgenden Schritte, um den Mandanten auszuwählen:
Melden Sie sich beim Azure-Portal an.
Wenn Ihr Konto in mehreren Azure AD B2C-Mandanten vorhanden ist, wählen Sie Ihr Profil oben rechts im Azure-Portal aus und dann Verzeichnis wechseln, um Ihre Portalsitzung in den gewünschten Azure AD B2C-Mandanten zu ändern.
Erstellen von Benutzerflows und benutzerdefinierten Richtlinien
Informationen zum Erstellen von allgemeinen Benutzerflows wie „Registrierung und Anmeldung“, „Profilbearbeitung“ und „Kennwortzurücksetzung“ finden Sie unter Tutorial: Erstellen von Benutzerflows in Azure Active Directory B2C.
Sie sollten auch benutzerdefinierte Richtlinien in Azure Active Directory B2C erstellen. Diese Aufgabe geht jedoch über den Rahmen dieses Tutorials hinaus. Weitere Informationen finden Sie unter Übersicht über die benutzerdefinierte Azure AD B2C-Richtlinie.
Hinzufügen externer Identitätsanbieter
Siehe Tutorial: Hinzufügen eines Identitätsanbieters zu Ihrem Azure Active Directory B2C-Mandanten
Registrieren der App (java-spring-webapp-auth-b2c)
Gehen Sie wie folgt vor, um die App zu registrieren:
Navigieren Sie zum Azure-Portal und klicken Sie auf Azure AD B2C.
Wählen Sie im Navigationsbereich App-Registrierungen und dann Neue Registrierung aus.
Geben Sie auf der daraufhin angezeigten Seite Anwendung registrieren die folgenden Registrierungsinformationen Ihrer App ein:
- Geben Sie im Abschnitt Name einen aussagekräftigen Anwendungsnamen ein, der den Benutzern der App angezeigt wird (beispielsweise
java-spring-webapp-auth-b2c
). - Wählen Sie unter Unterstützte Kontotypen Konten in einem beliebigen Identitätsanbieter oder Organisationsverzeichnis (zur Authentifizierung von Benutzern mit Benutzerflows) aus.
- Wählen Sie im Abschnitt Umleitungs-URI (optional) im Kombinationsfeld die Option Web aus, und geben Sie die folgenden Umleitungs-URIs ein:
http://localhost:8080/login/oauth2/code/
- Geben Sie im Abschnitt Name einen aussagekräftigen Anwendungsnamen ein, der den Benutzern der App angezeigt wird (beispielsweise
Wählen Sie Registrieren aus, um die Anwendung zu erstellen.
Suchen Sie auf der Registrierungsseite der App den Wert Anwendungsclient-ID, und notieren Sie ihn zur späteren Verwendung. Sie verwenden diesen Wert in den Konfigurationsdateien Ihrer App.
Wählen Sie Speichern aus, um Ihre Änderungen zu speichern.
Wählen Sie auf der Registrierungsseite der App Zertifikate & Geheimnisse aus, um die Seite zu öffnen, in dem Sie Geheimnisse generieren und Zertifikate hochladen können.
Wählen Sie im Abschnitt Geheime Clientschlüssel die Option Neuer geheimer Clientschlüssel aus.
Geben Sie eine Beschreibung ein (z. B. App-Geheimnis).
Wählen Sie eine der verfügbaren Laufzeiten entsprechend Ihren Sicherheitsrichtlinien aus, beispielsweise In 2 Jahren.
Wählen Sie Hinzufügen. Der generierte Wert wird angezeigt.
Kopieren und speichern Sie den generierten Wert zur Verwendung in späteren Schritten. Sie benötigen diesen Wert für die Konfigurationsdateien des Codes. Dieser Schlüsselwert wird nicht erneut angezeigt, und Sie können ihn auch nicht auf andere Weise abrufen. Achten Sie daher darauf, ihn aus dem Azure-Portal zu speichern, bevor Sie zu einem anderen Bildschirm oder Bereich navigieren.
Konfigurieren der App (java-spring-webapp-auth-b2c) für die Verwendung Ihrer App-Registrierung
Führen Sie die folgenden Schritte aus, um die App zu konfigurieren:
Hinweis
In den folgenden Schritten ist ClientID
identisch mit Application ID
oder AppId
.
Öffnen Sie das Projekt in Ihrem IDE.
Öffnen Sie die Datei src/main/resources/application.yml.
Suchen Sie die Eigenschaft
client-id
, und ersetzen Sie den vorhandenen Wert durch die Anwendungs-IDclientId
derjava-spring-webapp-auth-b2c
-Anwendung aus dem Azure-Portal.Suchen Sie den App-Schlüssel
client-secret
, und ersetzen Sie den vorhandenen Wert durch den Wert, den Sie beim Erstellen derjava-spring-webapp-auth-b2c
-Anwendung gespeichert haben (im Azure-Portal).Suchen Sie die Eigenschaft
base-uri
, und ersetzen Sie die beiden Instanzen des Wertsfabrikamb2c
durch den Namen des Azure AD B2C-Mandanten, in dem Sie diejava-spring-webapp-auth-b2c
-Anwendung im Azure-Portal erstellt haben.Suchen Sie die Eigenschaft
sign-up-or-sign-in
, und ersetzen Sie sie durch den Namen der Registrierungs-/Anmelde-Benutzerflussrichtlinie, die Sie im Azure AD B2C-Mandanten erstellt haben, in dem Sie diejava-spring-webapp-auth-b2c
-Anwendung im Azure-Portal erstellt haben.Suchen Sie die Eigenschaft
profile-edit
, und ersetzen Sie sie durch den Namen der Benutzerflussrichtlinie zur Kennwortrücksetzung, die Sie im Azure AD B2C-Mandanten erstellt haben, in dem Sie diejava-spring-webapp-auth-b2c
-Anwendung im Azure-Portal erstellt haben.Suchen Sie die Eigenschaft
password-reset
, und ersetzen Sie sie durch den Namen der Benutzerflussrichtlinie zum Bearbeiten des Profils, die Sie im Azure AD B2C-Mandanten erstellt haben, in dem Sie diejava-spring-webapp-auth-b2c
-Anwendung im Azure-Portal erstellt haben.Öffnen Sie die Datei src/main/resources/templates/navbar.html.
Suchen Sie die Verweise auf die Flows
b2c_1_susi
undb2c_1_edit_profile
, und ersetzen Sie sie durch Ihre Benutzerflowssign-up-sign-in
undprofile-edit
.
Ausführen des Beispiels
In den folgenden Abschnitten wird gezeigt, wie Sie das Beispiel für Azure Container Apps bereitstellen.
Voraussetzungen
- Ein Azure-Konto. Falls Sie nicht über eine Subscription verfügen, können Sie ein kostenloses Konto erstellen. Sie benötigen die Berechtigung Mitwirkender oder Besitzer für das Azure-Abonnement, um den Vorgang fortzusetzen. Weitere Informationen finden Sie unter Weisen Sie Azure-Rollen über das Azure-Portal zu.
- Die Azure CLI
- Die Azure Container Apps CLI-Erweiterung, Version
0.3.47
oder höher. Zum Installieren der aktuellen Version verwenden Sie den Befehlaz extension add --name containerapp --upgrade --allow-preview
. - Java Development Kit, Version 17 oder höher.
- Maven.
Vorbereiten des Spring-Projekts
Bereiten Sie das Projekt mit den folgenden Schritten vor:
Verwenden Sie den folgenden Maven-Befehl, um das Projekt zu erstellen:
mvn clean verify
Führen Sie das Beispielprojekt mit dem folgenden Befehl lokal aus:
mvn spring-boot:run
Setup
Um sich ausgehend von der CLI bei Azure anzumelden, führen Sie den folgenden Befehl aus und befolgen Sie die Anweisungen, um den Authentifizierungsprozess abzuschließen.
az login
Verwenden Sie den Upgradebefehl, um sicherzustellen, dass Sie die neueste Version der CLI ausführen.
az upgrade
Installieren oder aktualisieren Sie als Nächstes die Azure Container Apps-Erweiterung für die CLI.
Wenn Sie beim Ausführen von az containerapp
-Befehlen in Azure-CLI Fehlermeldungen über fehlende Parameter erhalten, stellen Sie sicher, dass Sie die neueste Version der Erweiterung für Azure-Container-Apps installiert haben.
az extension add --name containerapp --upgrade
Hinweis
Ab Mai 2024 aktivieren Azure CLI-Erweiterungen standardmäßig keine Previewfunktionen mehr. Um auf Previewfunktionen von Container Apps zuzugreifen, installieren Sie die Container Apps-Erweiterung mit --allow-preview true
.
az extension add --name containerapp --upgrade --allow-preview true
Nachdem die aktuelle Erweiterung oder das aktuelle Modul installiert ist, registrieren Sie nun die Namespaces Microsoft.App
und Microsoft.OperationalInsights
.
Hinweis
Azure Container Apps-Ressourcen wurden vom Microsoft.Web
-Namespace zum Microsoft.App
-Namespace migriert. Weitere Informationen finden Sie unter Namespacemigration von Microsoft.Web zu Microsoft.App im März 2022.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Erstellen der Azure Container Apps-Umgebung
Nachdem die Einrichtung Ihrer Azure CLI abgeschlossen ist, können Sie die Umgebungsvariablen definieren, die in diesem Artikel verwendet werden.
Definieren Sie die folgenden Variablen in Ihrer Bash-Shell.
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"
Erstellen Sie eine Ressourcengruppe.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION \
Erstellen Sie eine Umgebung mit einem automatisch generierten Log Analytics-Arbeitsbereich.
az containerapp env create \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location $LOCATION
Zeigt die Standarddomäne der Container-App-Umgebung an. Notieren Sie sich diese Domäne, um sie in späteren Abschnitten zu verwenden.
az containerapp env show \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--query properties.defaultDomain
Vorbereiten der App zur Bereitstellung
Wenn Sie Ihre Anwendung in Azure Container Apps bereitstellen, ändert sich Ihre Umleitungs-URL in die Umleitungs-URL Ihrer bereitgestellten App-Instanz in Azure Container Apps. Führen Sie die folgenden Schritte aus, um diese Einstellungen in der application.yml-Datei zu ändern:
Navigieren Sie zur Datei src\main\resources\application.yml, und ändern Sie den Wert
post-logout-redirect-uri
des Domänennamens Ihrer bereitgestellten App hinzu, wie im folgenden Beispiel gezeigt. Achten Sie darauf, dass Sie<API_NAME>
und<default-domain-of-container-app-environment>
durch die aktuellen Werte ersetzen. Beispielsweise würden Sie mit der Standarddomäne für Ihre Azure Container App-Umgebung aus dem vorherigen Schritt undms-identity-api
für Ihren App-Namenhttps://ms-identity-api.<default-domain>
für denpost-logout-redirect-uri
-Wert verwenden.post-logout-redirect-uri: https://<API_NAME>.<default-domain-of-container-app-environment>
Verwenden Sie nach dem Speichern dieser Datei den folgenden Befehl, um Ihre App neu zu erstellen:
mvn clean package
Wichtig
Die application.yml-Datei der Anwendung enthält derzeit den Wert Ihres geheimen Clientschlüssels im client-secret
-Parameter. Es empfiehlt sich nicht, diesen Wert in dieser Datei beizubehalten. Möglicherweise gehen Sie ein Risiko ein, wenn Sie die Datei in ein Git-Repository übernehmen. Informationen zum empfohlenen Ansatz finden Sie unter Verwalten von geheimen Schlüsseln in Azure Container Apps.
Aktualisieren Sie die Registrierung Ihrer Microsoft Entra ID-App.
Da sich der Umleitungs-URI in Ihrer bereitgestellten App in Azure Container Apps ändert, müssen Sie auch den Umleitungs-URI in Ihrer Microsoft Entra ID-App-Registrierung ändern. Durchlaufen Sie folgende Schritte, um diese Änderung wirksam zu machen:
Navigieren Sie zur Seite App-Registrierungen von Microsoft Identity Platform für Entwickler.
Verwenden Sie das Suchfeld, um nach Ihrer App-Registrierung zu suchen. Beispiel:
java-servlet-webapp-authentication
.Öffnen Sie die App-Registrierung, indem Sie den Namen auswählen.
Wählen Sie im oberen Menü Authentifizierung aus.
Wählen Sie unter Web - Umleitungs-URIs die Option URI hinzufügen aus.
Füllen Sie den URI Ihrer App aus, indem Sie
/login/oauth2/code/
anfügen. Beispiel:https://<containerapp-name>.<default domain of container app environment>/login/oauth2/code/
.Wählen Sie Speichern.
Bereitstellen der App
Stellen Sie das JAR-Paket für Azure Container Apps bereit.
Hinweis
Falls erforderlich, können Sie die JDK-Version in den Java-Build-Umgebungsvariablen angeben. Weitere Informationen finden Sie unter Erstellen von Umgebungsvariablen für Java in Azure Container Apps.
Jetzt können Sie Ihre WAR-Datei mit dem CLI-Befehl az containerapp up
bereitstellen.
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
Hinweis
Die JDK-Standardversion ist 17. Wenn Sie die JDK-Version für die Kompatibilität mit Ihrer Anwendung ändern müssen, können Sie die Versionsnummer mit dem Argument --build-env-vars BP_JVM_VERSION=<YOUR_JDK_VERSION>
anpassen.
Weitere Buildumgebungsvariablen finden Sie unter Buildumgebungsvariablen für Java in Azure Container Apps.
Überprüfen der App
In diesem Beispiel enthält der containerapp up
-Befehl das --query properties.configuration.ingress.fqdn
-Argument, das den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) zurückgibt, der auch als URL der App bezeichnet wird. Verwenden Sie die folgenden Schritte, um die Protokolle der App zu überprüfen, um Bereitstellungsprobleme zu untersuchen:
Greifen Sie auf die URL der Ausgabeanwendung auf der Seite Ausgaben des Abschnitts Bereitstellung zu.
Wählen Sie im Navigationsbereich der Azure Container Apps-Instanz Übersicht die Option Protokolle, um die Protokolle der App zu überprüfen.
Untersuchen des Beispiels
Gehen Sie folgendermaßen vor, um das Beispiel zu erkunden:
- Beachten Sie den angemeldeten oder abgemeldeten Status, der in der Mitte des Bildschirms angezeigt wird.
- Wählen Sie in der Ecke die Schaltfläche „Kontextsensitiv“ aus. Diese Schaltfläche lautet Anmelden, wenn Sie die App zum ersten Mal ausführen. Alternativ können Sie den Link zu Tokendetails auswählen. Da diese Seite geschützt ist und eine Authentifizierung erfordert, werden Sie automatisch zur Anmeldeseite umgeleitet.
- Folgen Sie auf der nächsten Seite den Anweisungen, und melden Sie sich mit einem Konto Ihres ausgewählten Identitätsanbieters an. Sie können sich auch bei einem lokalen Konto im B2C-Mandanten mit einer E-Mail-Adresse anmelden oder sich bei einem lokalen Konto anmelden.
- Nach erfolgreichem Abschluss des Anmeldeflusses sollten Sie auf die Startseite umgeleitet werden, die den Anmeldestatus anzeigt, oder die Tokendetails , je nachdem, welche Schaltfläche ihren Anmeldefluss ausgelöst hat.
- Beachten Sie, dass die kontextsensitive Schaltfläche jetzt Abmelden lautet und Ihren Benutzernamen anzeigt.
- Wenn Sie sich auf der Startseite befinden, wählen Sie ID-Token-Details aus, um einige der decodierten Ansprüche des ID-Tokens anzuzeigen.
- Bearbeiten Sie Ihr Profil. Wählen Sie Profil bearbeiten aus, um Details wie Ihren Anzeigenamen, Ihren Aufenthaltsort und Ihren Beruf zu ändern.
- Verwenden Sie die Schaltfläche in der Ecke, um sich abzumelden. Die Statusseite gibt den neuen Zustand wieder.
Informationen zum Code
In diesem Beispiel wird veranschaulicht, wie Sie die Azure AD B2C Spring Boot Starter-Clientbibliothek für Java verwenden, um Benutzer bei Ihrem Azure AD B2C-Mandanten anzumelden. Das Beispiel verwendet auch die Spring Oauth2-Client- und Spring-Webstartstarter. Im Beispiel werden Ansprüche aus dem von Azure AD B2C abgerufenen ID-Token verwendet, um die Details des angemeldeten Benutzers anzuzeigen.
Contents
Die folgende Tabelle zeigt den Inhalt des Beispielprojektordners:
Datei/Ordner | Beschreibung |
---|---|
pom.xml | Anwendungsabhängigkeiten |
src/main/resources/templates/ | Thymeleaf-Vorlagen für die Benutzeroberfläche. |
src/main/resources/application.yml | Anwendungs- und Microsoft Entra Boot Starter-Bibliothekskonfiguration. |
src/main/java/com/microsoft/azuresamples/msal4j/msidentityspringbootwebapp/ | Dieses Verzeichnis enthält den Haupteinstiegspunkt der Anwendung, den Controller und die Konfigurationsklassen. |
.../MsIdentitySpringBootWebappApplication.java | Main-Klasse |
.../SampleController.java | Controller mit Endpunktzuordnungen. |
.../SecurityConfig.java | Sicherheitskonfiguration – z. B. welche Routen eine Authentifizierung erfordern. |
.../Utilities.java | Hilfsklasse – z. B. Filter-ID-Tokenansprüche. |
CHANGELOG.md | Liste der Änderungen am Beispiel. |
CONTRIBUTING.md | Richtlinien für einen Beitrag zum Beispiel. |
LIZENZ | Die Lizenz für das Beispiel. |
ID-Tokenansprüche
Um Tokendetails zu extrahieren, verwendet die App Spring Security AuthenticationPrincipal
und das OidcUser
-Objekt in einer Anforderungszuordnung, wie im folgenden Beispiel gezeigt. Ausführliche Informationen dazu, wie diese App ID-Tokenansprüche verwendet, finden Sie im Beispielcontroller .
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();
}
Links zum An- und Abmelden
Für die Anmeldung sendet die App eine Anforderung an den Azure AD B2C-Anmeldeendpunkt, der automatisch von der Azure AD B2C Spring Boot Starter-Clientbibliothek für Java konfiguriert wurde, wie im folgenden Beispiel gezeigt:
<a class="btn btn-success" href="/oauth2/authorization/{your-sign-up-sign-in-user-flow}">Sign In</a>
Für die Abmeldung sendet die App eine POST-Anforderung an den logout
-Endpunkt, wie im folgenden Beispiel gezeigt:
<form action="#" th:action="@{/logout}" method="post">
<input class="btn btn-warning" type="submit" value="Sign Out" />
</form>
Authentifizierungsabhängige UI-Elemente
Die App verfügt über eine einfache Logik auf den Benutzeroberflächen-Vorlagenseiten, um basierend darauf zu bestimmen, ob der Benutzer authentifiziert wird, wie im folgenden Beispiel unter Verwendung von Spring Security Thymeleaf-Tags gezeigt:
<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>
Schützen von Routen mit WebSecurityConfigurerAdapter
Standardmäßig schützt die App die Seite ID-Tokendetails, sodass nur angemeldete Benutzer darauf zugreifen können. Die App konfiguriert diese Routen aus der Eigenschaft aus der Datei app.protect.authenticated
application.yml. Um die spezifischen Anforderungen Ihrer App zu konfigurieren, können Sie WebSecurityConfigurerAdapter
in einer Ihrer Klassen erweitern. Ein Beispiel finden Sie in der SecurityConfig-Klasse dieser App, die im folgenden Code gezeigt wird:
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Value("${app.protect.authenticated}")
private String[] protectedRoutes;
private final AADB2COidcLoginConfigurer configurer;
public SecurityConfig(AADB2COidcLoginConfigurer configurer) {
this.configurer = configurer;
}
@Override
protected void configure(HttpSecurity http) throws Exception {
// @formatter:off
http.authorizeRequests()
.antMatchers(protectedRoutes).authenticated() // limit these pages to authenticated users (default: /token_details)
.antMatchers("/**").permitAll() // allow all other routes.
.and()
.apply(configurer)
;
// @formatter:off
}
}
Weitere Informationen
- Microsoft Identity Platform (Microsoft Entra ID für Entwickler)
- Übersicht über die Microsoft-Authentifizierungsbibliothek (MSAL)
- Schnellstart: Registrieren einer Anwendung bei Microsoft Identity Platform
- Schnellstart: Konfigurieren einer Clientanwendung für den Zugriff auf Web-APIs
- Grundlegendes zu Einwilligungserfahrungen für Microsoft Entra ID-Anwendungen
- Grundlegendes zur Benutzer- und Administratoreinwilligung
- Anwendungs- und Dienstprinzipalobjekte in Microsoft Entra ID
- Nationale Clouds
- MSAL-Codebeispiele
- Microsoft Entra ID Spring Boot Starter-Clientbibliothek für Java
- Azure Active Directory B2C Spring Boot Starter: Clientbibliothek für Java
- Microsoft Authentication Library für Java (MSAL4J)
- MSAL4J-Wiki
- ID-Token
- Microsoft Identity Platform – Zugriffstoken
Weitere Informationen zur Funktionsweise von OAuth 2.0-Protokollen in diesem Szenario und anderen Szenarien finden Sie unter Authentifizierungsszenarien für Microsoft Entra ID.