Implementieren Sie die auf Microsoft Entra ID basierende Authentifizierung in einer modernisierten Mainframe-Anwendung von AWS Blu Age - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Implementieren Sie die auf Microsoft Entra ID basierende Authentifizierung in einer modernisierten Mainframe-Anwendung von AWS Blu Age

Vishal Jaswani und Rimpy Tewani, Amazon Web Services

Übersicht

Mainframe-Anwendungen, die mithilfe von Refactoring-Mustern modernisiert werden, wie die von AWS Mainframe Modernization Refactor mit AWS Blu Age, erfordern eine sorgfältige Integration der Authentifizierungsmechanismen in die neue Anwendungsarchitektur. Diese Integration wird in der Regel erst im Anschluss an die Modernisierung angegangen. Die Aufgabe kann komplex sein und beinhaltet häufig die Migration oder Externalisierung vorhandener Authentifizierungssysteme, um sie an moderne Sicherheitsstandards und Cloud-native Praktiken anzupassen. Entwickler müssen überlegen, wie sie die Authentifizierung effektiv implementieren können, während sie gleichzeitig die Einschränkungen der Laufzeitumgebung und der Bibliotheken der modernisierten Anwendung einhalten. AWS Bietet nach der Modernisierung Möglichkeiten, wie Sie Ihren modernen AWS Blu-Age-Code einfacher in Identitäts- und Zugriffsverwaltungssysteme wie Amazon Cognito und Microsoft Entra ID (früher bekannt als Azure AD) integrieren können.

Dieses Muster erklärt, wie Sie einen Authentifizierungsmechanismus in Ihrer modernisierten Anwendung implementieren können, wenn der Authentifizierungsanbieter Microsoft Entra ID ist, ohne Zeit für Recherchen und Tests aufzuwenden. Das Muster bietet:

  • Praxiserprobte und relevante Angular-Bibliotheken aus der Microsoft Authentication Library (MSAL) und anderen Microsoft Entra ID-Dokumentationen, die für die Authentifizierungsimplementierung unerlässlich sind. 

  • Konfigurationen, die auf der AWS Blu Age Runtime erforderlich sind, um Spring Security mithilfe von 2.0 zu aktivieren. OAuth

  • Eine Bibliothek, die die Identitäten authentifizierter Benutzer erfasst und an die AWS Blu Age Runtime weitergibt.

  • Sicherheitsmaßnahmen, deren Implementierung wir empfehlen.

  • Tipps zur Fehlerbehebung für häufig auftretende Probleme mit dem Microsoft Entra ID-Setup.

Anmerkung

Dieses Muster verwendet die AWS Blu OAuth Age-Erweiterungsbibliothek, die Kunden im Rahmen ihrer AWS Professional Services-Vereinbarung zur Verfügung gestellt wird. Diese Bibliothek ist nicht Teil der AWS Blu Age Runtime.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Eine modernisierte Anwendung, die mit den Refactoring-Tools für die Mainframe-Modernisierung von AWS Blu Age entwickelt wurde. Dieses Muster dient CardDemoals Beispiel für eine Open-Source-Mainframe-Anwendung.

  • Die AWS Blu OAuth Age-Erweiterungsbibliothek, die Ihnen das AWS Blu Age-Team im Rahmen Ihres Engagements bei AWS Professional Services zur Verfügung stellt.

  • Aktiv AWS-Konto für die Bereitstellung und das Testen der modernisierten Anwendung.

  • Vertrautheit mit AWS Blu Age-Konfigurationsdateien und den Grundlagen von Microsoft Entra ID.

Einschränkungen

  • Dieses Muster deckt die OAuth 2.0-Authentifizierung und grundlegende tokenbasierte Autorisierungsabläufe ab. Fortgeschrittene Autorisierungsszenarien und differenzierte Zugriffskontrollmechanismen sind nicht im Geltungsbereich enthalten.

  • Einige AWS-Services sind nicht in allen verfügbar. AWS-Regionen Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie AWS-Services unter Nach Regionen. Informationen zu bestimmten Endpunkten finden Sie unter Dienstendpunkte und Kontingente. Wählen Sie dort den Link für den Dienst aus.

Produktversionen

Dieses Muster wurde entwickelt unter Verwendung von:

  • AWS Blu Age Runtime Version 4.1.0 (das Muster funktioniert auch mit späteren Versionen, die abwärtskompatibel sind)

  • MSAL-Bibliothek, Version 3.0.23

  • Version 17 des Java-Entwicklungskits (JDK)

  • Eckige Version 16.1

Architektur

Quelltechnologie-Stack

In typischen Mainframe-Umgebungen wird die Authentifizierung über Benutzerprofile implementiert. Diese Profile identifizieren Benutzer im System, definieren, wer sich anmelden kann, und geben an, welche Funktionen Benutzer mit Systemressourcen ausführen können. Benutzerprofile werden von Sicherheitsbeauftragten oder Sicherheitsadministratoren verwaltet.

Zieltechnologie-Stack

  • Microsoft Entra ID

  • Modernisiertes Backend auf Basis von Java Spring Boot

  • AWS Blue Age Runtime

  • Spring Security mit OAuth 2.0

  • Angular Single-Page-Anwendung (SPA)

Zielarchitektur

AWS Blu Age Runtime unterstützt standardmäßig die OAuth 2.0-basierte Authentifizierung, sodass das Pattern diesen Standard zum Schutz des Backends APIs verwendet.

Das folgende Diagramm veranschaulicht den Prozessablauf.

Anmerkung

Das Diagramm enthält Amazon Aurora als Beispiel für die Datenbankmodernisierung, obwohl Aurora nicht in den Schritten für dieses Muster enthalten ist.

Prozessablauf für die Entra ID-basierte Authentifizierung für eine AWS Blu Age Age-Anwendung.

Wobei:

  1. Ein Benutzer versucht, sich mit Microsoft Entra ID zu authentifizieren.

  2. Microsoft Entra ID gibt Aktualisierungs-, Zugriffs- und ID-Tokens zurück, die die Anwendung bei nachfolgenden Aufrufen verwendet.

  3. Der MSAL-Interceptor fügt das Zugriffstoken in den Authorization Header einer HTTPS-Anfrage ein, um die Blu Age Runtime AWS aufzurufen.

  4. Die AWS Blu extension-oauth Age-Bibliothek extrahiert die Benutzerinformationen mithilfe einer AWS Blu Age Runtime-Konfigurationsdatei (application-main.yml) aus dem Header und platziert diese Informationen in einem SharedContext Objekt, sodass die Geschäftslogik sie verarbeiten kann.

    Anmerkung

    SharedContextist eine von AWS Blu Age bereitgestellte Laufzeitkomponente, die den Anwendungskontext und die Statusinformationen in der gesamten modernisierten Anwendung verwaltet. Weitere Informationen zu den Komponenten und Updates von AWS Blu Age Runtime finden Sie in den Versionshinweisen zu AWS Blu Age in der AWS Mainframe Modernization Dokumentation. Weitere Informationen zur application-main.yml Datei finden Sie in der AWS Mainframe Modernization Dokumentation unter Konfiguration für AWS Blu Age Runtime einrichten.

  5. Die AWS Blu Age Runtime prüft, ob das Token vorhanden ist. 

    1. Wenn das Token vorhanden ist, überprüft es die Gültigkeit des Tokens, indem es mit der Microsoft Entra ID kommuniziert. 

    2. Wenn das Token nicht vorhanden ist, gibt die AWS Blu Age Runtime einen Fehler mit dem HTTP-Statuscode 403 zurück.

  6. Wenn das Token gültig ist, ermöglicht die AWS Blue Age Runtime die Fortsetzung der Geschäftslogik. Wenn das Token ungültig ist, gibt die AWS Blu Age Runtime einen Fehler mit dem HTTP-Statuscode 403 zurück.

OAuth 2.0-Arbeitsablauf

Ein allgemeines Diagramm des OAuth 2.0-Workflows finden Sie in der Microsoft Entra-Dokumentation.

Tools

AWS-Services

  • AWS Mainframe Modernizationstellt Tools und Ressourcen bereit, die Sie bei der Planung und Implementierung der Migration und Modernisierung von Mainframes zu AWS verwalteten Laufzeitumgebungen unterstützen. Sie können die von AWS Blu Age bereitgestellten Refactoring-Funktionen dieses Services nutzen, um Ihre älteren Mainframe-Anwendungen zu konvertieren und zu modernisieren.

Code-Repository

Die CardDemo Anwendung wurde aktualisiert, um die Integration mit Microsoft Entra ID zu demonstrieren. Sie können auf den Code für dieses Muster aus dem GitHub Repository zugreifen.

Backend-Konfiguration

Dieses Muster erfordert Änderungen an der application-main.yml Konfigurationsdatei, um Spring Security mithilfe von OAuth 2.0 in der Backend-Anwendung zu aktivieren.  Die .yml Datei sieht wie folgt aus:

gapwalk-application.security: enabled gapwalk-application: security: identity: oauth issuerUri: ${issuerUrl} claim: claims: - claimName: upn claimMapValue: username spring: autoconfigure: exclude: - org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration - org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration security: oauth2: client: registration: azure: client-id: {clientId} client-secret: ${clientSecret} provider: azure authorization-grant-type: authorization_code redirect-uri: ${redirectUri} scope: openid provider: azure: authorization-uri: ${gapwalk-application.security.issuerUri}/oauth2/v2.0/authorize token-uri: ${gapwalk-application.security.issuerUri}/oauth2/v2.0/token jwk-set-uri: ${gapwalk-application.security.issuerUri}/discovery/v2.0/keys resourceserver: jwt: jwk-set-uri: ${gapwalk-application.security.issuerUri}/discovery/v2.0/keys

AWS Blu OAuth Age-Erweiterungsfilterbibliothek

Die AWS Blu OAuth Age-Erweiterungsbibliothek wird vom AWS Blu Age-Team während Ihres Aufenthalts bei AWS Professional Services bereitgestellt.

Diese Bibliothek liest die claim.claims Konfiguration in der application-main.yml Datei, die im vorherigen Codeblock gezeigt wurde. Diese Konfiguration ist eine Liste. Jedes Element in der Liste bietet zwei Werte: claimName undclaimMapValue. claimNamesteht für einen Schlüsselnamen in einem vom Frontend gesendeten JSON Web Token (JWT) und claimMapValue ist der Name des Schlüssels in. SharedContext Wenn Sie beispielsweise die Benutzer-ID im Backend erfassen möchten, legen claimName Sie den Schlüsselnamen im JWT fest, der die von Microsoft bereitgestellte Entra-ID enthält, und legen Sie den Schlüsselnamen fest, claimMapValue um die Benutzer-ID im Backend-Code abzurufen. userId

Wenn Sie beispielsweise angeben, können Sie UserId den folgenden Code verwendenclaimMapValue, um die Benutzer-ID zu extrahieren:

SharedContext.get().getValue("userId", [UserId]);

Bewährte Methoden

Berücksichtigen Sie bei der Implementierung dieses Musters die folgenden wichtigen Sicherheitsüberlegungen.

Wichtig

Dieses Muster bietet eine Grundlage für die Integration der Authentifizierung. Wir empfehlen Ihnen, zusätzlich zu den in diesem Abschnitt beschriebenen Sicherheitsmaßnahmen auf der Grundlage Ihrer Geschäftsanforderungen zu ergreifen, bevor Sie das Produkt in der Produktion einsetzen.

  • AWS Sicherheit der Konfiguration.Verschieben Sie sensible Konfigurationswerte von application-main.yml nach AWS Secrets Manager. Konfigurieren Sie beispielsweise die folgenden Eigenschaften mithilfe von Secrets Manager:

    security: oauth2: client: registration: azure: client-id: {clientId} client-secret: ${clientSecret}

    Weitere Informationen darüber, wie Sie Secrets Manager zur Konfiguration von AWS Blu Age-Parametern verwenden können, finden Sie in der AWS Mainframe Modernization Dokumentation unter AWS Blu Age Runtime Secrets.

  • Schutz der Runtime-Umgebung. Konfigurieren Sie die modernisierte Anwendungsumgebung mit geeigneten AWS Sicherheitskontrollen:

    server: tomcat: remoteip: protocol-header: X-Forwarded-Proto remote-ip-header: X-Forwarded-For forward-headers-strategy: NATIVE
  • CloudWatch Amazon-Protokollierung. Erwägen Sie, die Datei hinzuzufügenlogback-spring.xml to src/main/resources:

    <configuration> <appender name="CLOUDWATCH" class="com.amazonaws.services.logs.logback.CloudWatchAppender"> <logGroup>/aws/bluage/application</logGroup> <logStream>${AWS_REGION}-${ENVIRONMENT}</logStream> <layout> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern> </layout> </appender> <root level="INFO"> <appender-ref ref="CLOUDWATCH"/> </root> </configuration>

    Informationen zur Aktivierung der Ablaufverfolgung mit CloudWatch finden Sie in der CloudWatch Dokumentation unter Aktivieren der Ablaufverfolgung zur Protokollierung der Korrelation.

  • Konfiguration und Handhabung von Tokens. Konfigurieren Sie die Token-Gültigkeitsdauer in Microsoft Entra ID entsprechend Ihren Sicherheitsanforderungen. Legen Sie fest, dass Zugriffstoken innerhalb von 1 Stunde ablaufen, und aktualisieren Sie Tokens so, dass sie innerhalb von 24 Stunden ablaufen. Stellen Sie in der AWS Blu Age Runtime-Konfiguration (application-main.yml) sicher, dass die JWT-Validierung ordnungsgemäß mit den exakten Aussteller-URI- und Zielgruppenwerten aus Ihrer Entra ID-Anwendungsregistrierung konfiguriert ist.

    Wenn ein Token abläuft und aktualisiert wird:

    1. Der Error Interceptor der Angular-Anwendung verarbeitet die 401-Antwort, indem er über MSAL ein neues Token erhält.

    2. Das neue Token wird mit der nachfolgenden Anfrage gesendet.

    3. Der OAuth Filter der AWS Blu Age Runtime validiert das neue Token und aktualisiert es automatisch SharedContext mit den aktuellen Benutzerinformationen. Dadurch wird sichergestellt, dass die Geschäftslogik über SharedContext.get().getValue() Aufrufe weiterhin Zugriff auf den gültigen Benutzerkontext hat.

    Weitere Informationen zu den AWS Blu Age Runtime-Komponenten und ihren Updates finden Sie in den AWS Blu Age-Versionshinweisen.

  • AWS Blu Age Runtime-Sicherheit. Die von AWS Blu Age bereitgestellte oauth2-ext Bibliothek muss sich am richtigen Speicherort für das gemeinsam genutzte Verzeichnis ({app-server-home}/shared/) mit den richtigen Dateiberechtigungen befinden. Stellen Sie sicher, dass die Bibliothek erfolgreich Benutzerinformationen extrahiert, JWTs indem Sie die SharedContext Objektpopulation in Ihren Protokollen überprüfen.

  • Spezifische Anspruchskonfiguration. Definieren Sie in application-main.yml explizit die Ansprüche, die Sie von Microsoft Entra ID benötigen. Um beispielsweise die E-Mail-Adresse und die Rollen des Benutzers zu erfassen, geben Sie Folgendes an:

    gapwalk-application: security: claim: claims: - claimName: upn claimMapValue: username - claimName: roles claimMapValue: userRoles - claimName: email claimMapValue: userEmail
  • Behandlung von Fehlern. Fügen Sie eine Fehlerbehandlung hinzu, um Authentifizierungsfehler in Ihrer Angular-Anwendung zu beheben; zum Beispiel:

    @Injectable() export class AuthErrorInterceptor implements HttpInterceptor { intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { return next.handle(request).pipe( catchError((error: HttpErrorResponse) => { if (error.status === 401) { // Handle token expiration this.authService.login(); } if (error.status === 403) { // Handle unauthorized access this.router.navigate(['/unauthorized']); } return throwError(() => error); }) ); } }
  • Konfiguration des Sitzungs-Timeouts. Konfigurieren Sie die Einstellungen für das Sitzungstimeout sowohl in der AWS Blu Age Runtime als auch in der Microsoft Entra ID. Fügen Sie Ihrer Datei beispielsweise den folgenden Code hinzuapplication-main.yml:

    server: servlet: session: timeout: 3600 # 1 hour in seconds
  • MsalGuard. Sie müssen die MsalGuard Funktion für alle geschützten Routen implementieren, um unbefugten Zugriff zu verhindern. Zum Beispiel:

    const routes: Routes = [ { path: '', redirectTo: '/transaction-runner', pathMatch: 'full' }, { path: 'transaction-runner', component: TransactionRunnerComponent, canActivate:guards }, { path: 'user-info', component: UserInfoComponent, canActivate:guards }, { path: 'term/:transid/:commarea', component: TermComponent, canActivate:guards }, { path: 'code', component: TransactionRunnerComponent } ];

    Routen, die nicht MsalGuard geschützt sind, sind ohne Authentifizierung zugänglich, wodurch möglicherweise vertrauliche Funktionen offengelegt werden. Stellen Sie sicher, dass alle Routen, für die eine Authentifizierung erforderlich ist, die Guards in ihrer Konfiguration enthalten.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Richten Sie ein Microsoft Azure-Konto ein, um eine Entra-ID zu erstellen.

Optionen und Anweisungen finden Sie auf der Microsoft Azure-Website.

App-Developer

Richten Sie in Ihrer Anwendung eine Microsoft Entra ID ein.

Informationen zum Hinzufügen der Microsoft Entra ID B2C-Authentifizierung (Azure AD B2C) zu Ihrem Angular SPA finden Sie in der Microsoft-Dokumentation. Das heißt:

  1. Registrieren Sie Ihre Anwendung und erfassen Sie Identifikatoren.

  2. Machen Sie den AWS Blu-Age-Transaktionsendpunkt verfügbar, indem Sie einen benutzerdefinierten Bereich hinzufügen und verfügbar machen.  

  3. Nachdem Sie den Bereich und die API-URL definiert haben, konfigurieren Sie diese Werte in den apiScope Eigenschaften apiUri und der environment.ts Datei im Code-Repository.

App-Developer
AufgabeBeschreibungErforderliche Fähigkeiten

Klonen Sie das GitHub Repository, um den für die Authentifizierung erforderlichen Angular-Code zu erhalten.

Führen Sie den folgenden Befehl aus, um das GitHub Repository, das mit diesem Muster bereitgestellt wurde, in Ihr lokales aktuelles Arbeitsverzeichnis zu klonen:

git clone https://github.com/aws-samples/sample-microsoft-entra-id-based-auth-in-aws-bluage-modernized-mainframe-app.git
App-Developer

Stellen Sie den modernisierten AWS Blu-Age-Code auf einem Tomcat-Server bereit, um die Authentifizierung zu implementieren.

Um die lokale Umgebung einzurichten, die Tomcat und den Angular-Entwicklungsserver umfasst, folgen Sie den Installationsschritten, die das AWS Blu Age-Team im Rahmen Ihrer Kundenbindung mit AWS Professional Services bereitgestellt hat.

App-Developer
AufgabeBeschreibungErforderliche Fähigkeiten

Aktivieren Sie die AWS Blu Age Runtime-Sicherheit, um die AWS Blu Age REST-API-Endpunkte zu schützen.

Konfigurieren Sie die application-main.yml Datei, die die AWS Blu Age Runtime verwendet, wie folgt. Ein Beispiel für diese Datei finden Sie im Abschnitt Code-Repository weiter oben in diesem Muster.

  • spring:security:oauth2:client:*aktiviert die Spring Security OAuth 2.0-Client-Unterstützung. Ersetzen Sie die Einstellungen durch Werte, die für Ihr Microsoft Entra ID-Setup spezifisch sind.

  • spring:security:oauth2:resourceserveraktiviert die Unterstützung von Spring Security OAuth 2.0-Ressourcenservern.

  • gapwalk-application.security.issuerUrigibt die URL des Identitätsanbieters zum Abrufen von Konfigurationsinformationen wie dem Autorisierungsendpunkt, dem Token-Endpunkt usw. an.

  • gapwalk-application.security.identitysollte auf gesetzt sein. oauth

  • gapwalk-application.security.claim.claimsgibt die Liste der Ansprüche an, die zur Erfassung von Benutzer IDs - und Benutzernamen erforderlich sind.  Ein Beispiel finden Sie weiter oben in diesem Muster im Abschnitt Code-Repository.

  • gapwalk-application.securitysollte auf eingestellt seinenabled.

  • spring.autoconfigure.excludesollte entfernt werden, um die Authentifizierung zu aktivieren.

App-Developer

Integrieren Sie den Beispielcode aus Ihrer lokalen Umgebung in Ihre modernisierte Angular-Codebasis von Blu Age.

Informationen darüber, wie Sie das Beispiel in Ihre modernisierte AWS Blu Age-Angular-Codebasis integrieren können, finden Sie im Abschnitt Code-Repository weiter oben in diesem Muster.

App-Developer

Platzieren Sie die oauth2-ext Bibliothek im gemeinsam genutzten Verzeichnis.

Platzieren Sie die oauth2-ext Bibliothek im gemeinsam genutzten Verzeichnis des Anwendungsservers, sodass Ihre modernisierte AWS Blu Age-Anwendung sie verwenden kann.Führen Sie die folgenden Befehle aus:

cd oauth2-ext/target cp extension-oauth-filter-<version>.jar /{app-server-home}/shared/
App-Developer
AufgabeBeschreibungErforderliche Fähigkeiten

Stellen Sie die Frontend-Anwendung bereit.

Führen Sie die folgenden Befehle aus, um die Frontend-Anwendung lokal zu starten:

npm install ng serve --ssl npm start
Anmerkung

Durch das Hinzufügen des --ssl Flags zum ng serve Befehl wird sichergestellt, dass der Entwicklungsserver HTTPS verwendet, das sicherer als andere Protokolle ist und eine bessere Simulation einer Produktionsumgebung ermöglicht.

App-Developer

Starten Sie die Backend-Anwendung.

Starten Sie den Tomcat-Server in Eclipse.

App-Developer
AufgabeBeschreibungErforderliche Fähigkeiten

Testen Sie die Anmeldefunktion.

Rufen Sie die lokal bereitgestellte Anwendung unter auf, http://localhost:4200 um zu überprüfen, ob Benutzer aufgefordert werden, ihre Identität zu bestätigen.

Anmerkung

HTTP wird hier zu Demonstrationszwecken verwendet. In einer Produktionsumgebung oder einer anderen öffentlich zugänglichen Umgebung müssen Sie aus Sicherheitsgründen HTTPS verwenden. Selbst für die lokale Entwicklung empfehlen wir, dass Sie, wenn möglich, HTTPS einrichten.

Die Microsoft-Anmeldeaufforderung sollte angezeigt werden, und Benutzer, die in Microsoft Entra ID konfiguriert sind, sollten auf die Anwendung zugreifen können.

App-Developer

Testen Sie den Autorisierungsheader in der Anfrage.

Anmerkung

In den folgenden Schritten wird die CardDemoAnwendung als Beispiel verwendet. Die Testschritte für andere moderne Anwendungen werden variieren.

  1. Starten Sie die Transaktion CC00 in der CardDemo Anwendung.

  2. Melden Sie sich mit Benutzeranmeldedaten an. Wenn Sie beispielsweise den AWS Blu Age Level 3-Workshop zum Selbststudium nutzen, können Sie den Namen USER0001 und das Passwort PASSWORD als Anmeldeinformationen verwenden.

  3. Öffnen Sie das Fenster mit den Entwicklertools auf derselben Registerkarte Ihres Browsers.

  4. Öffnen Sie die Registerkarte Netzwerk und überprüfen Sie die Anfrage, die an das Backend http://localhost:8080/gapwalk-application/transaction gesendet wurde.

  5. Überprüfen Sie den Anforderungsheader und stellen Sie sicher, dass Sie einen Autorisierungsheader mit dem Wert sehen, Bearer <token> bei dem <token> es sich um einen Wert handelt, der von Microsoft Entra ID generiert wurde.

App-Developer

Testen Sie die Abmeldefunktion.

Wählen Sie Quit, um sich abzumelden, und versuchen Sie erneut, auf die Anwendung zuzugreifen. Es sollte eine neue Anmeldeaufforderung angezeigt werden.

App-Developer

Fehlerbehebung

ProblemLösung

Das von Microsoft Entra ID ausgegebene Token ist nicht mit der Spring Boot OAuth 2.0-Sicherheit kompatibel.

Eine Lösung für das Problem finden Sie im OAuth Blog unter Microsoft OAuth Entra ID Flow.

Allgemeine Fragen zu Tokens.

Verwenden Sie die Website https://jwt.io/, um den Inhalt eines JWT-Tokens zu dekodieren und anzuzeigen.

Zugehörige Ressourcen