Skip to main content

Okta und Nextcloud: SAML konfigurieren (SSO, Single-Sign-On)

notice Info:  Ich, Thomas Heinz, arbeite für Okta. Die Postings und Beiträge auf meinem Blog sind aus meiner Feder und müssen nicht zwangsläufig die Meinung von Okta widerspiegeln.

 

Ich dokumentiere hier meine Schritte, wie Nextcloud und Okta konfiguriert werden um die Authentication via SAML einzurichten.

 

Vorarbeit

Stellt zuerst sicher, dass die “SSO & SAML authentication” App eurer Nextcloud Instanz hinzugefügt ist.

 

Auch solltet ihr bereits einen Okta Tenant haben, wenn nein, könnt ihr euch hier eine kostenlose Trial klicken: https://www.okta.com/free-trial/

 

Dann kann auch schon die Konfiguration losgehen:

In den Nextcloud Settings wechselt zu “SSO & SAML authentication”.

 

Hier könnt ihr erstmal generelle Einstellungen vornehmen, ich habe mir die Möglichkeit eines zweiten User-Back-Ends gelassen. Unter “General” habe ich mal username und als IDP Provider Name Okta eingetragen. Wir brauchen auch noch Zertifikate zum signen, die könnt ihr euch z. B. einfach mittels

openssl req  -nodes -new -x509  -keyout private.key -out public.cert

erstellen. Den public-key in das obere Feld kopieren, den private-key in das untere – ziemlich selbsterklärend. (in der command line einfach via ‘cat public.cert’ anzeigen lassen, genau so mit dem privaten Schlüssel)

 

Jetzt wechseln wir in die Okta Adminoberfläche. Unter Applications -> Applications -> Button “Add Application” erzeugen wir via “Add new App” eine neue “SAML 2.0” Application.

 

 

Ihr könnt die App benennen wie ihr wollt, z. B. Nextcloud – SAML. Wichtig ist, dass ihr diese App nicht den Nutzern anzeigt – Nextcloud unterstützt meines Wissens nur SP-initiated SAML.

 

Jetzt müssen die
Single-Sign-On URL (https://nextcloud.example.com/index.php/apps/user_saml/saml/acs)
und auch die Audience URI (https://nextcloud.example.com/index.php/apps/user_saml/saml/metadata)
eingetragen werden. Solltet ihr bei eurem Server nichts an Rewrite Rules konfiguriert haben, so nehmt index.php wie im Screenshot zu sehen in den Pfad auf. Natürlich auf euren Server anpassen…

 

Bei den Attribute Statements tragt ihr für den Anfang mal folgendes ein, essentiell ist username -> user.login

 

Auf der letzten Seite setzt die Einstellungen wie folgt:

 

 

Die App ist fertig erstellt, jetzt können wir uns die weiteren “Setup Instructions” anschauen:

 

Diese Informationen kopieren wir jetzt in die Nextcloud Configuration, ich glaube Bilder sagen mehr als tausend Worte:

 

In Nextcloud:

 

Beachtet auch die beiden zusätzlichen Attribute Mappings name und email die ich in Nextcloud eingetragen habe.

Die Security Settings sehen bei mir so aus:

 

Test

Versucht sich ein User jetzt an Nextcloud einzuloggen, so erhält er in der Login-Maske eine neue Auswahl:

 

Klickt der User “Okta” so kann sich mit Okta eingeloggt werden – falls der User in Nextcloud noch nicht existiert, so wird dieser erzeugt.

 

Um den Benutzer noch ein Chiclet in Okta anzuzeigen, wir eine Bookmark-App mit der richtigen URL erzeugt. Dann kann sich der User auch direkt aus dem Okta Dashboard an Nextcloud einloggen.

Nextcloud Single-Sign-On with Okta

Leave a Reply

Your email address will not be published. Required fields are marked *