Suchergebnisse :

×

Drupal SAML Single Sign On mit SimpleSAMLphp als Identitätsanbieter

Die Drupal SAML-Integration mithilfe von miniOrange SAML SP-Modul stellt nahtloses SSO zwischen SimpleSAMLphp und der Drupal-Site her. Die Benutzer können sich mit ihren SimpleSAMLphp-Anmeldeinformationen bei der Drupal-Site anmelden. Dieses Dokument führt Sie durch die Schritte zum Konfigurieren von Single Sign-On – SSO zwischen Drupal als Service Provider (SP) und SimpleSAMLphp als Identity Provider (IdP). Das Modul ist kompatibel mit Drupal 7, Drupal 8, Drupal 9, Drupal 10 und Drupal 11.

  • Laden Sie das Modul herunter:
    Komponist benötigt „drupal/miniorange_saml“
  • Navigieren Erweitern Menü auf Ihrer Drupal-Administratorkonsole und suchen Sie nach miniOrange SAML-Dienstanbieter über das Suchfeld.
  • Aktivieren Sie das Modul, indem Sie das Kontrollkästchen aktivieren und auf klicken installieren .
  • Konfigurieren Sie das Modul unter
    {BaseURL}/admin/config/people/miniorange_saml/idp_setup
  • Installieren Sie das Modul:
    drush und drupal/miniorange_saml
  • Leeren Sie den Cache:
     drush cr
  • Konfigurieren Sie das Modul unter
    {BaseURL}/admin/config/people/miniorange_saml/idp_setup
  • Navigieren Erweitern Menü auf Ihrer Drupal-Administratorkonsole und klicken Sie auf Installieren Sie neue Modul .
  • Installieren Sie das Drupal SAML SP 2.0 Single Sign On (SSO) – SAML-Dienstanbieter Modul entweder durch Herunterladen der Zip-Datei oder über die URL der Paket (tar/zip).
  • Klicken Sie auf Aktivieren Sie neu hinzugefügte Module.
  • Aktivieren Sie dieses Modul, indem Sie das Kontrollkästchen aktivieren und auf klicken installieren .
  • Konfigurieren Sie das Modul unter
    {BaseURL}/admin/config/people/miniorange_saml/idp_setup
  • Gehe zu KonfigurationPersonenSAML-Anmeldekonfiguration im Verwaltung Menü. (/admin/config/people/miniorange_saml/idp_setup)
Konfiguration-Drupal-Select-miniOrange-SAML-Login-Konfiguration

  • Kopieren Sie auf der Registerkarte „Dienstanbieter-Metadaten“ die Datei SP-Entitäts-ID/Aussteller kombiniert mit einem nachhaltigen Materialprofil. SP ACS-URL und halten Sie sie griffbereit. Diese SP-Metadaten werden benötigt, um SimpleSAMLphp als Identity Provider (IdP) zu konfigurieren.
Drupal SAML Single Sign-On - Kopieren Sie die SP-Informationen, die zum Konfigurieren von Shibboleth 2 als IdP erforderlich sind

  • Öffnen Sie im SimpleSAML-Installationsverzeichnis config/config.php und folgendes bearbeiten:

    'enable.saml20-idp' ⇒ wahr
  • Aktivieren Sie die UserPass-Authentifizierung Modul (enthalten in exampleauth). Dies geschieht durch die Erstellung einer Datei mit dem Namen ermöglichen (Dateiname) in module/exampleath/.
  • Erstellen Sie eine Authentifizierungsquelle in config/authsources.php. Die Datei sollte einen einzelnen Eintrag enthalten, siehe unten:

      '__DEFAULT__', /* * Der private Schlüssel und das Zertifikat, die beim Signieren von Antworten verwendet werden sollen. * Diese werden im Zertifikatsverzeichnis gespeichert. */ 'privatekey' => 'example.org.pem', 'certificate' => 'example.org.crt', /* * Die Authentifizierungsquelle, die zur Authentifizierung des * Benutzers verwendet werden soll. Diese muss mit einem der Einträge in config/authsources.php übereinstimmen. */ 'auth' => '' Beispiel:- 'example-userpass', // Dies finden Sie in Schritt 1 ];
        

Diese Konfiguration erstellt zwei Benutzer – Student und Employee – mit den Passwörtern „studentpass“ und „employeepass“. Benutzername und Passwort werden im Array-Index gespeichert (student:studentpass für den Studentenbenutzer). Die Attribute für jeden Benutzer werden im Array konfiguriert, auf das der Index verweist. Für den Studentenbenutzer sind dies also:

  [ 'uid' => ['Student'], 'eduPersonAffiliation' => ['Mitglied', 'Student'], ],
    

Die Attribute werden vom IdP zurückgegeben, wenn sich der Benutzer anmeldet.

  • Generieren Sie ein selbstsigniertes Zertifikat mit einer der folgenden Methoden:
    • Verwenden des OpenSSL-Befehls

      openssl req -newkey rsa:3072 -new -x509 -days 3652 -nodes -out example.org.crt -keyout example.org.pem
    • Generieren Sie es mit beliebigen Online-Tools und fügen Sie sie dem Zertifikatsverzeichnis hinzu.

      Die Erweiterung sollte wie folgt aussehen
      example.org.crt //(Öffentlicher Schlüssel)example.org.pem //(Privater Schlüssel)
Hinweis und Kontakt - SSO zwischen zwei WordPress-Sites

Hinweis: SimpleSAMLphp funktioniert nur mit RSA-Zertifikaten. DSA-Zertifikate werden nicht unterstützt.


  • Der SAML 2.0 IdP wird durch die in gespeicherten Metadaten konfiguriert metadata/saml20-idp-hosted.phpDies ist eine Minimalkonfiguration:

      '__DEFAULT__', /* * Der private Schlüssel und das Zertifikat, die beim Signieren von Antworten verwendet werden sollen. * Diese werden im Zertifikatsverzeichnis gespeichert. */ 'privatekey' => 'example.org.pem', 'certificate' => 'example.org.crt', /* * Die Authentifizierungsquelle, die zur Authentifizierung des * Benutzers verwendet werden soll. Dies muss mit einem der Einträge in config/authsources.php übereinstimmen. */ ' auth' => '' Beispiel:- 'example-userpass', // Sie finden dies in Schritt Nummer 1 ];
    
  • Der Identitätsanbieter, den Sie konfigurieren, muss über die Dienstanbieter Bescheid wissen, mit denen Sie sich verbinden möchten. Dies wird durch Metadaten konfiguriert, die in metadata/saml20-sp-remote.php gespeichert sind. Dies ist ein minimales Beispiel für eine metadata/saml20-sp-remote.php-Metadatendatei für einen SimpleSAMLphp SP: (Ersetzen Sie example.com mit Ihrem Drupal-Domänenname.)

      'https://example.com/samlassertion', 'SingleLogoutService' => 'https://example.com/user/logout', 'NameIDFormat' => 'urn:oasis:names:tc:SAML:1.1:nameid -format:emailAddress', 'simplesaml.nameidattribute' => 'mail', 'simplesaml.attributes' => true, 'attributes' => array('mail', 'givenname', 'sn', 'memberOf'), ];
    
Hinweis und Kontakt - SSO zwischen zwei WordPress-Sites

Hinweis: Die URI in der Entitäts-ID und die URLs zu den Endpunkten des AssertionConsumerService und des Single Logout Service ändern sich je nach Dienstanbieter. Wenn Ihnen die Metadaten des Remote-SP als XML-Datei vorliegen, können Sie den integrierten XML-zu-SimpleSAMLphp-Metadatenkonverter verwenden, der standardmäßig unter /admin/metadata-converter.php in Ihrer SimpleSAMLphp-Installation verfügbar ist.


  • Gehen Sie zur SimpleSAMLphp-Homepage der Installation. (Die URL einer Installation kann z. B. sein https://service.example.com/simplesaml/ (wobei service.example.com durch Ihren SimpleSAMLphp-Pfad ersetzt werden muss.)
  • Navigieren Sie zur Registerkarte „Föderation“ und klicken Sie auf Metadaten anzeigen(Diese IdP-Metadaten werden benötigt, um Drupal als Service Provider zu konfigurieren.)
Simple-SAML-SP-Metadaten

  • Gehen Sie zu Ihrer Drupal-Site. Navigieren Sie zu Einrichtung des Dienstanbieters des Moduls und klicken Sie auf das Laden Sie IDP-Metadaten hoch.
  • Laden Sie die zuvor heruntergeladene Metadatendatei von SimpleSAML in die hoch Metadatendatei hochladen Textfeld und klicken Sie auf Datei hochladen .
Drupal-SAML-SP-Upload-Metadata-File

Hinweis und Kontakt - SSO zwischen zwei WordPress-Sites

Hinweis: Führen Sie die folgenden Schritte aus, um den Namen des Identitätsanbieters zu aktualisieren:

  • Der ActionWählen Sie die Bearbeiten.
  • Geben Sie SimpleSAMLphp in das Name des Identitätsanbieters Textfeld.
  • Scrollen Sie nach unten und klicken Sie auf Konfiguration speichern .

  • Klicken Sie auf den Link „Test“, um die Verbindung zwischen Drupal und SimpleSAMLphp zu testen.
Drupal SAML-Dienstanbieter – Überprüfen Sie die Verbindung zwischen Drupal und Simple-SAML

  • Melden Sie sich im Popup „Testkonfiguration“ mit Ihren SimpleSAMLphp-Zugangsdaten an (falls keine aktive Sitzung besteht). Nach erfolgreicher Authentifizierung wird eine Liste der von SimpleSAMLphp empfangenen Attribute angezeigt. Klicken Sie auf die Schaltfläche Erledigt .
Drupal SAML Service Provider – Testkonfiguration

Herzlichen Glückwunsch! Sie haben SimpleSAMLphp erfolgreich als SAML-Identitätsanbieter (IdP) und Drupal als SAML-Dienstanbieter konfiguriert.

  • Öffnen Sie einen neuen Browser/ein neues privates Fenster und navigieren Sie zur Anmeldeseite der Drupal-Site.
  • Klicken Sie auf die Anmeldung mit Identitätsanbieter (SimpleSAMLphp) Link.
  • Sie werden zur SimpleSAMLphp-Anmeldeseite weitergeleitet. Geben Sie die SimpleSAMLphp-Anmeldeinformationen ein. Nach erfolgreicher Authentifizierung wird der Benutzer zurück zur Drupal-Site geleitet.
ADFS_sso ×
Hallo!

Brauchen Sie Hilfe? Wir sind hier!

Unterstützung