Suchergebnisse :

×

Entdecken Sie grenzenlose Möglichkeiten mit Drupal Headless SSO unter Verwendung des SAML-Protokolls

Die Headless-SSO-Sicherheitslösung von miniOrange ermöglicht nahtloses Single Sign-On (SSO) zwischen der Headless-Anwendung, dem Drupal-Backend und dem Identitätsanbieter (IdP). Bei diesem Authentifizierungsprozess werden Benutzer zunächst zur Authentifizierung auf die Anmeldeseite des Identitätsanbieters weitergeleitet. Nach erfolgreicher Authentifizierung werden sie zurück zur Frontend-Anwendung geleitet. In diesem Schritt wird ein JSON Web Token (JWT) generiert, um die Benutzeridentität sicher zu verifizieren und an die Frontend-Site zu senden. (Optional: Dieses Token kann zur API-Validierung verwendet werden, während weitere Informationen von Drupal abgerufen werden.) Im Folgenden werden die Schritte zur Konfiguration von SSO für ein Headless-Drupal-Setup erläutert.

  • miniOrange SAML SP-Modul : Diese Modulen ermöglicht SSO zwischen der Drupal-Site und dem SAML-Anbieter.
  • REST- und JSON-API-Authentifizierungsmodul :
    • Nach der Durchführung des SSO wird Modulen hilft, das JWT zu generieren und dieses Token an die Frontend-Anwendung zu senden.
    • Dieses Token kann im Header zusammen mit der API-Anfrage an Drupal verwendet werden, um weitere APIs zu authentifizieren/validieren. Das REST- und JSON-API-Authentifizierungsmodul validiert das JWT, bevor API-Aufrufe zugelassen werden, um einen sicheren Zugriff zu gewährleisten.
  • miniOrange SAML-Modul: Beziehen Sie sich darauf Installationsanleitung zum Einrichten des SSO zwischen der Drupal-Site und dem gewünschten SAML-Identitätsanbieter.
  • REST- und JSON-API-Authentifizierungsmodul:
    • Um die Drupal-APIs mit dem JWT zu authentifizieren, konfigurieren Sie die JWT-basierte Authentifizierungsmethode im Modul, indem Sie diesen Schritt befolgen. Installationsanleitung.
  • Konfigurieren Sie die Anmelde-URL zum Frontend:
    • Um die Anmelde-URL zu erhalten, gehen Sie zum Modul miniorange_saml und navigieren Sie dann zum Dienstanbieter-Setup Registerkarte. Kopieren Sie den SSO-Link und integrieren Sie ihn in die Frontend-Anmeldeseite.
    SAML-SSO-Anmelde-URL
  • Konfigurieren Sie den Frontend-Endpunkt:
    • Das REST- und JSON-API-Authentifizierungsmodul generiert ein JWT, das dem angemeldeten Benutzer entspricht. Um dieses JWT vom Modul abzurufen, konfigurieren Sie die Weiterleitungs-URL im API-Authentifizierungsmodul wie folgt:
      • Navigieren Sie zu der Erweiterte Einstellungen Registerkarte der REST- und JSON-API-Authentifizierung Modul.
      Token-Endpunktkonfiguration für Headless-SSO
      • Im Token-Endpunktkonfiguration für das Headless-SSO Geben Sie im Abschnitt den Endpunkt der Frontend-Anwendung ein, an den der Browser nach dem Single Sign-On (SSO)-Prozess mit einem Code und einem Relay-Statusparameter umleitet. Klicken Sie anschließend auf das Konfiguration des Token-Endpunkts speichern .
      Geben Sie die Weiterleitungs-URL ein
  • Konfigurieren Sie die Abmelde-Umleitungs-URL des Frontends:
    • Nachdem sich der Benutzer von der Drupal-Site abgemeldet hat, wird er zurück zur Frontend-Seite geleitet. Um diesen Endpunkt der Frontend-Anwendung einzurichten, gehen Sie zur Registerkarte „Anmelden“ des miniOrange_saml Modul.
    • Im „Standard-Umleitungs-URL nach der Abmeldung“ Geben Sie in das Textfeld den Endpunkt der Frontend-Seite ein, zu dem der Benutzer nach der Abmeldung weitergeleitet werden soll.

Dieser Abschnitt beleuchtet alles, was ein Benutzer im Frontend tun muss. Außerdem werden die möglichen Änderungen im Frontend erläutert. Los geht's:

  • Anmeldeablauf:
    • Initiieren Sie die Anmeldung von der Frontend-Anwendung mithilfe der SSO-URL.
    • Der Benutzer wird zum konfigurierten IdP umgeleitet.
    • Geben Sie zur Authentifizierung die Anmeldeinformationen des Benutzers ein.
    • Nach erfolgreicher Authentifizierung wird der Benutzer mit dem Code und dem Relay-Status als Abfrageparameter in der URL zurück zum Frontend geleitet.
    • Hinweis: Der Relay-Status ist der Parameter, von dem aus die Anmeldung initiiert wird. Wenn der Zielparameter die aktuelle Anmelde-URL ist, ist der Relay-Status der Wert des Zielparameters.

    • 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 Bild unten.
      Token-Endpunktkonfigurationen
      • Beispiel für das Erstellen einer POST-Anfrage mit dem empfangenen Code:
        • Angenommen, der Benutzer hat am Frontend einen Code „(received_code)“ erhalten.
        • Verwenden Sie nun das folgende Format, um mit diesem Code eine POST-Anfrage zu stellen.
        • Postman-Format:

                          HTTP: POST /drupal10_1_1/web/getToken HTTP/1.1 Host: localhost Inhaltstyp: application/x-www-form-urlencoded Inhaltslänge: 35 Code=MjEOxuSuQyd1vUE7Ft5K5fT8Syh25c CURL: curl --location 'http://localhost/drupal10_1_1/web/getToken' \ --header 'Inhaltstyp: application/x-www-form-urlencoded' \ --data-urlencode 'Code=MjEOxuSuQyd1vUE7Ft5K5fT8Syh25c'
                          
    • Der Token-Endpunkt validiert den Code.
    • Wenn der Code gültig ist, stellt der Token-Endpunkt ein generiertes JWT bereit. (Beachten Sie, dass der Code nur einmal verwendet werden kann und daher nicht erneut zum Abrufen eines JWT verwendet werden kann.) Verwenden Sie nun dieses JWT-Token, um nachfolgende APIs zu authentifizieren.
  • Abmeldeablauf:
    • Leiten Sie eine Abmeldung von der Frontend-Anwendung ein. (mithilfe der URL- {drupal-base-url}/Benutzer/Abmelden)
    • Stellen Sie sicher, dass die einmalige Abmeldung konfiguriert ist.
    • Dadurch wird der Benutzer sowohl von der Drupal-Site als auch vom IdP abgemeldet.
    • Nach dem Abmelden von der Drupal-Site wird der Benutzer weitergeleitet auf die konfigurierter Endpunkt.

Hinweis: Das Format von API-Anfragen, die das JWT-Token im Header enthalten, finden Sie hier. Setup-Anleitung.

ADFS_sso ×
Hallo!

Brauchen Sie Hilfe? Wir sind hier!

Unterstützung