Drupal Headless SSO mit dem OAuth-Protokoll
Übersicht
Die OAuth-basierte Headless-SSO-Lösung von miniOrange verbindet das Drupal-Backend effizient mit einem OAuth-Server und nutzt das OAuth-Protokoll zur Authentifizierung. Nach Abschluss des SSO-Prozesses generiert das Modul einen JSON Web Token (JWT) für den angemeldeten Benutzer und überträgt ihn an die Frontend-Site. (Optional: Dieses Token kann zur Validierung aller weiteren Drupal-APIs verwendet werden.) Diese Anleitung beleuchtet den Kern der Implementierung von Headless SSO sowohl im Backend als auch im Frontend.
Beginnen wir zunächst mit dem Backend.Voraussetzungen:
- miniOrange OAuth-Client-Modul : Diese Modulen ermöglicht das SSO zwischen der Drupal-Site und dem OAuth/OIDC-Provider.
- REST- und JSON-API-Authentifizierungsmodul : Nachdem das SSO durchgeführt wurde, Modulen Hilft, das JWT zu generieren und dieses Token an die Frontend-Anwendung zu senden. (Optional: Um weitere Drupal-APIs zu authentifizieren, übergeben Sie dasselbe JWT im Header zusammen mit der API-Anfrage. Das REST- und JSON-API-Authentifizierungsmodul validiert dieses JWT.)
Backend-Konfigurationen
- miniOrange OAuth-Clientmodul: Befolgen Sie diese Installationsanleitung um die Verbindung zwischen der Drupal-Site und dem gewünschten OAuth/OIDC-Anbieter einzurichten.
- REST- und JSON-API-Authentifizierungsmodul:
- Um die Drupal-APIs mit dem JWT zu authentifizieren, konfigurieren Sie die JWT-Authentifizierung Methode im Modul. Folgen Sie diesem Installationsanleitung.
- Konfigurieren Sie die Weiterleitungs-URL der Frontend-Anwendung:
- Navigieren Sie zu der Erweiterte Einstellungen Registerkarte des REST- und JSON-API-Authentifizierungsmoduls.
- Im Token-Endpunktkonfigurationen für Headless-SSO Geben Sie in den Details den Endpunkt der Frontend-Anwendung ein, an den der Browser nach dem Single Sign-On (SSO)-Prozess mit einem Code-Parameter umleitet. Klicken Sie anschließend auf das Konfiguration des Token-Endpunkts speichern .
- Anmeldeablauf:
- Initiieren Sie die Anmeldung von der Frontend-Anwendung des Benutzers aus. (mithilfe der URL- {drupal-base-url}/moLogin)
- Der Benutzer wird zum konfigurierten Server umgeleitet.
- Geben Sie zur Authentifizierung die Anmeldeinformationen des Benutzers ein.
- Nach erfolgreicher Authentifizierung wird der Benutzer mit dem Code als Abfrageparameter in der URL zurück zum Frontend geleitet.
- Verwenden Sie den im vorherigen Schritt erhaltenen Code, um eine Anfrage an den Token-Endpunkt von Drupal zu stellen. Führen Sie dazu die folgenden Schritte aus:
- Suchen Sie den Token-Endpunkt in der Token-Endpunktkonfigurationen für Headless-SSO Details. Siehe hierzu das folgende Bild.
- Beispiel für das Erstellen einer POST-Anfrage mit dem empfangenen Code: -
- Angenommen, ein Benutzer erhält einen Code (received_code) im Frontend.
- Verwenden Sie nun das folgende Format, um mit diesem Code eine POST-Anfrage zu stellen.
Aufdecken der Frontend-Szenen
In diesem Abschnitt wird alles behandelt, was ein Benutzer auf der Frontend-Seite tun muss.
Lass uns anfangen:
HTTP: POST https://{drupal_base_url}/getToken Code=(empfangener Code)
Hinweis: Das Format von API-Anfragen, die das JWT-Token im Header enthalten, finden Sie hier. Setup-Anleitung.

Kontakt