SSO-Anmeldung bei Drupal mit Keycloak als OAuth/OpenID Connect-Anbieter
Übersicht
Die Drupal OAuth/OpenID Connect SSO-Integration ermöglicht Single Sign-On (SSO) zwischen Ihrer Drupal-Website und Keycloak. Diese Anleitung hilft Ihnen bei der Konfiguration von SSO zwischen Ihrer Drupal-Website und Keycloak mithilfe des OAuth/OpenID Connect-Moduls. Nach der Integration des Moduls können Sie sich nahtlos mit Ihren Keycloak-Anmeldedaten bei Ihrer Drupal-Website anmelden. Das Modul ist kompatibel mit Drupal 7, 8, 9, 10 und 11.
Installationsschritte
- Alte Version
- New Version
Konfigurationsschritte
Konfigurieren Sie Drupal als OAuth-Client
Konfigurieren Sie Drupal als OAuth-Client
- Konfigurieren Sie Keycloak mit Version 21.1.1
- Konfigurieren Sie Keycloak mit Version 18
- Konfigurieren Sie Keycloak mit einer niedrigeren Version
Erstellen Sie eine OAuth/OpenID Single Sign-On-Anwendung in Keycloak:
- Melde dich bei deinem Schlüsselumhang Administratorkonsole.
- Auswählen Reich erstellen aus dem Master-Dropdown-Menü.

- Geben Sie den Anwendungsnamen ein Realmname Textfeld und klicken Sie auf das Erschaffung um fortzufahren.
- Navigieren Sie zu der Kunden -> Kundenliste -> Client erstellen.
- Im Allgemeine Einstellungen, geben Sie die Kunden-ID. Klicken Sie auf Weiter .
- Im Fähigkeitskonfiguration, aktivieren Sie das Kontrollkästchen für Client-Authentifizierung und klicken Sie auf das Weiter .
- Im Anmeldeeinstellungen, fügen Sie die ein Rückruf-/Umleitungs-URL in die Gültige Weiterleitungs-URIs Textfeld und klicken Sie auf Gespeichert .
- Navigieren Sie zu der Aus- und Fortbildungen Registerkarte und kopieren Sie die Kundengeheimnis und halten Sie es griffbereit, um Drupal als OAuth-Client zu konfigurieren.
- Gehen Sie zur Keycloak-Administratorkonsole.
- Navigieren Realm-Einstellungen → Allgemein und kopieren Sie die Realm-ID indem Sie auf Kopieren klicken Icon.
- Kopieren Sie die URL der Keycloak-Domäne. Wenn Ihr Keycloak beispielsweise auf localhost läuft, lautet die Domäne „https://localhost:8080“. (siehe Abbildung unten)
Erstellen Sie eine OAuth/OpenID-Single-Sign-On-Anwendung in Keycloak:
- Zuallererst Laden Sie Keycloak herunter und installieren Sie es.
- Server starten: Starten Sie den Keycloak-Server, indem Sie die Datei _standalone.sh_ im Stammverzeichnis keycloak/bin/standalone.sh ausführen.
- Reich erstellen: Melden Sie sich nun bei der Keycloak-Administrationskonsole an und navigieren Sie zu Ihrem gewünschten Realm. Sie können einen neuen Realm hinzufügen, indem Sie Reich erstellen .

- Reich erstellen: Geben Sie den Realm-Namen ein und kopieren Sie ihn. Behalten Sie ihn griffbereit, da er später für die Konfiguration von Drupal als OAuth-Client erforderlich ist. Klicken Sie anschließend auf CREATE Bereich hinzufügen.
- Geben Sie die Kunden-ID und kopieren Sie es. Behalten Sie es griffbereit, da Sie Drupal später als OAuth-Client konfigurieren müssen. Klicken Sie dann auf Gespeichert .
- Aktivieren Sie die Client-Authentifizierung und klicken Sie auf Gespeichert .
- Fügen Sie die (in Schritt 1) kopierte Rückruf-URL in die ein Gültige Weiterleitungs-URLs Textbereich und klicken Sie auf das Gespeichert .
- Navigieren Sie zu der Aus- und Fortbildungen Klicken Sie auf die Registerkarte und kopieren Sie das Client-Geheimnis.
Erstellen Sie eine OAuth/OpenID-Single-Sign-On-Anwendung in Keycloak:
- Zuallererst Laden Sie Keycloak herunter und installieren Sie es.
- Server starten: Starten Sie den Keycloak-Server, indem Sie die Datei _standalone.sh_ im Stammverzeichnis keycloak/bin/standalone.sh ausführen.
- Bereich hinzufügen: Melden Sie sich nun bei der Keycloak-Administrationskonsole an und navigieren Sie zu Ihrem gewünschten Realm. Sie können einen neuen Realm hinzufügen, indem Sie Reich erstellen .

- Reich erstellen: Geben Sie den Realm-Namen ein und kopieren Sie ihn. Behalten Sie ihn griffbereit, da er später für die Konfiguration von Drupal als OAuth-Client erforderlich ist. Klicken Sie anschließend auf CREATE Bereich hinzufügen.
- Geben Sie nun die ein Angezeigter Name und klicken Sie auf die Schaltfläche Speichern.
- Navigieren Sie zu der Kunden Tab und klicken Sie auf Erschaffung .
- Geben Sie die Kunden-ID und kopieren Sie es. Behalten Sie es griffbereit, da Sie Drupal später als OAuth-Client konfigurieren müssen. Klicken Sie dann auf Gespeichert .
- Fügen Sie das zuvor Kopierte ein Rückruf-/Umleitungs-URL in die Gültige Weiterleitungs-URLs Textfeld und klicken Sie auf Gespeichert .
- Navigieren Sie zu der Aus- und Fortbildungen Klicken Sie auf die Registerkarte und kopieren Sie das Client-Geheimnis.
Drupal mit Keycloak integrieren:
- Gehen Sie zum miniOrange OAuth-Clientmodul.
- Bei Drupal Konfigurieren Sie OAuth Klicken Sie auf die Registerkarte und fügen Sie das Kopierte ein Kunden-ID und Kundengeheimnis von Keyclaok im Kunden-ID und Kundengeheimnis Textfelder.
- Bei Drupal Konfigurieren Sie OAuth Ersetzen Sie auf der Registerkarte „Keycloak_base_URL“ durch die kopierte Keycloak-Domänen-URL und realm-name mit kopiertem Realm-Namen im Endpunkt autorisieren, Zugriffstoken-Endpunkt und Endpunkt für Benutzerinformationen abrufen Textfelder. Klicken Sie dann auf Konfiguration speichern um fortzufahren.
Geben Sie die folgenden Informationen in die entsprechenden Textfelder der Registerkarte „OAuth konfigurieren“ des Drupal OAuth-Clientmoduls ein.
| Geltungsbereich | openid-E-Mail-Profil |
| Endpunkt autorisieren | (Keycloak-Basis-URL)/realms/{realm-name}/protocol/openid-connect/auth |
| Zugriffstoken-Endpunkt | (Keycloak-Basis-URL)/realms/{realm-name}/protocol/openid-connect/token |
| Endpunkt für Benutzerinformationen abrufen | (Keycloak-Basis-URL)/realms/{realm-name}/protocol/openid-connect/userinfo |
Drupal mit Keycloak integrieren:
- Gehen Sie zum miniOrange OAuth-Clientmodul.
- In Speichern Registerkarte, fügen Sie die kopierte Kunden-ID und Kundengeheimnis von Keycloak in der Kunden-ID und Kundengeheimnis Textfeld.
- Bei Drupal Konfigurieren Sie OAuth Ersetzen Sie auf der Registerkarte „Keycloak_base_URL“ durch die kopierte Keycloak-Domänen-URL und realm-name mit kopiertem Realm-Namen im Endpunkt autorisieren, Zugriffstoken-Endpunkt und Endpunkt für Benutzerinformationen abrufen Textfelder. Klicken Sie dann auf Konfiguration speichern um fortzufahren.
Geben Sie die folgenden Informationen in die entsprechenden Textfelder der Registerkarte „OAuth konfigurieren“ des Drupal OAuth-Clientmoduls ein.
| Geltungsbereich | openid-E-Mail-Profil |
| Endpunkt autorisieren | (Keycloak-Basis-URL)/realms/{realm-name}/protocol/openid-connect/auth |
| Zugriffstoken-Endpunkt | (Keycloak-Basis-URL)/realms/{realm-name}/protocol/openid-connect/token |
| Endpunkt für Benutzerinformationen abrufen | (Keycloak-Basis-URL)/realms/{realm-name}/protocol/openid-connect/userinfo |
- Das Senden Sie Client-ID und Secret in Mit dem Kontrollkästchen können Sie angeben, ob die Client-ID und das Geheimnis im Header oder im Text der Token-Endpunktanforderung enthalten sein sollen. Wenn Sie sich nicht sicher sind, welche Option Sie auswählen sollen, können Sie die Standardeinstellungen beibehalten.
- Klicken Sie auf das Kontrollkästchen, um Aktivieren Sie die Anmeldung mit OAuth, scrollen Sie nach unten und klicken Sie auf Konfiguration speichern .
