Keycloak - Migration Nextcloud SSO

Schönen guten Abend,

UCS version is 5.0-5 errata885

ich habe die Migration auf Keycloak durchgeführt. Nun möchte ich das erste Service, in dem Fall Nextcloud dahingehende zum tun bewegen. Habe mich an die Doku gehalten.

Hab als erstes den Client in Keycloak angelegt:

univention-keycloak saml/sp create --metadata-url="https://darkdevil.osit.cc/nextcloud/apps/user_saml/saml/metadata"

Dann hab ich in der SSO Konfiguration im Webinterface Keycloak als neuen Proivder angelegt, damit die alte SAML Geschichte derweilen noch ihre Dienste tut.

Dort habe ich unter “Identifikationsmerkmal des Autorisierungsdienstes” dies eingetragen:

https://ucs-sso-ng.osit.cc/realms/ucs/protocol/saml/descriptor

Wie ich den Inhalt der nächsten Zeile “URL-Ziel des an den der Dienstanbieter dei Anmeldeanfragen…” hab ich schon nicht mehr eruieren können :crazy_face:
Beim Zertifikat hab ich das PubCA von UCS hinein kopiert. Sprich gleich wie bei Simple SamlPHP.

Wie geht man denn hier richtig vor?

Was ich auch nicht ganz kapiert habe… Die SAML Identity Provider, die bereits im UDM eingepflegt waren, sind die eigentlich noch von Belang? Weil da musst der User ja Mitglied sein, sonst funktionierte kein SAML PHP.

Vielen lieben Dank
lg

Hi Boospy,
ich habe genau das selbe gerade auch gemacht. Dazu gibt es bereits eine gute Anleitung unter
https://docs.software-univention.de/keycloak-migration/migration-examples/saml.html#nextcloud
bei mir hat das einwandfrei funktioniert.
Allerdings ersetzt es dir dabei SimpleSAML als IDP.
Wenn du aber Keycloak als zusätzlichen IDP hinzufügen willst, dann solltest du mit den Parametern dort weiterkommen.

2 Likes

Dank dir @haubi das hab ich voll übersehen. Und ja, hat sofort und perfekt funktioniert.

Weist du event. was die Option “role-mapping-single-value” tut? Weil ohne der funktioniert der Login nicht, und ich konnte in der GUI so eine Option auch nicht finden… :thinking:

hi boospy,
nein ich weiss nicht was das ist. Ich habe den Befehl einfach so abgeschrieben.
Ich kann dir auch nicht sagen ob die SAML Identity Provider, die bereits im UDM eingepflegt waren, noch von Belang sind. Ich hoffe das sich da sonst noch jemand dazu äussert.
Liebe Grüsse
Andy

Hi,
hab jetzt auch mal testweise auf Keycloak migriert und die Nextcloud umgestellt.
Meine Vorgehensweise war auch wie im Link oben beschrieben und hat ohne Fehler funktioniert.
Wenn ich jetzt aber versuche, mich in die Nextcloud per “Login mit UCS” einzuloggen, bekomme ich die Nextcloud-Fehlermeldung: “Dein Konto wird nicht bereitgestellt. Der Zugriff ist daher nicht möglich.”

Login über direkte Anmeldung funktioniert (auch mit dem gleichen User).
Ich hab die Einstellungen kontrolliert, aber es scheint alles zu passen.

Fehlermeldung im nextcloud.log:

{"reqId":"iO3CZbyr6xTnOaZF2wXX","level":4,"time":"2024-04-21T15:24:25+00:00","remoteAddr":"192.168.24.x","user":"--","app":"user_saml","method":"POST","url":"/nextcloud/apps/user_saml/saml/acs","message":"**IDP parameter for the UID not found. Possible parameters are: []**","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36","version":"27.1.6.2","data":{"app":"user_saml"}}

Jemand eine Idee?
Thx!

Auf deine Fehlermeldung hab ich jetzt auf der Stelle zwar keine Antwort, Aber ich da einiges nochmal zusammen gefasst. Vielleicht siehst hier noch etwas was noch getan werden muss:

Hi,
bin eh auch beim ersten Mal nach deiner Anleitung vorgegangen, danke dafür!

Hab jetzt nochmal die Migration durchgeführt und das selbe Ergebnis, Nextcloud meint, die Konten sind nicht provisioniert.

Frage: Wenn ich im Keycloak im UCS Realm den Nextcloud Client auswähle und dann auf “Client Scopes” klicke, bekomme ich die Fehlermeldung:
image

Kann das jemand bestätigen?
danke!

Hello @hpz,

message:IDP parameter for the UID not found. Possible parameters are: []

Clearly, there are some parameters missing in the configuration.

Very similar, if not identical issue reported on nextcloud’s github:

thx,
but the issue has no solution.
I´ve no idea, why there are missing parameters, everything seems to be ok :frowning:

Mastodon