Libre Workspace Version v0.8.3 - SSO for Nextcloud and Element

Good day everyone!

I am happy to announce the release of v0.8.3 today.

Changes

Single Sign On for new Instances

This point release adds SSO for Nextcloud and Element by default for new libre workspace instances. Also new OIDC scopes where been introduced which makes it easier for future SSO integrations.
Also the documentation regarding SSO-Implementation at Libre Workspace has been updated: Libre Workspace Portal — Libre Workspace documentation

SSO in Action:

Because of matrix synapse the SSO for Element at local instances is disabled. The central usermanagement for synapse is still enabled though.

Jitsi currently only supports SSO with enterprise licences. But central user management will be added in the future through LDAP.

Enable SSO on existing Libre Workspace Instances

Because SSO changes the way of logging in and disables the direct ldap handling for nextcloud and matrix, the automatic activation afterwards is not a good idea.

You can have a look at the script code of the installation for getting all the information you need.

A video on how to migrate to SSO will follow.

Other changes

  • Backup information is now also shown if the backup repo is at a synology station.
  • The admin status sync for nextcloud has been hardned.
  • The backup module now supports additional borg backup options, e.g. to exclude some files/directories.

You can see the full list of changes here: Full Changelog: Comparing v0.8.2...v0.8.3 · Jean28518/libre-workspace · GitHub

Downloading

You can download the latest version here .

Update

You can easily update Libre Workspace from the system management view if you are logged in as an admin.

Roadmap

What features are coming next? You can find the project board here: Libre Workspace - GitHub


What do you think of the new release? What features or changes would you like to see in Libre Workspace? Let me know in this thread or on Github :slight_smile:

1 Like

thank you Jean, realy great stuff.

to get rid of the new sso, old instances has to migrate, right? ok, wait for the video.

Hallo zusammen,

nach längerem Suchen und Testen möchte ich meine Erfahrung teilen, wie ich Nextcloud erfolgreich per OIDC mit Libre Workspace verbunden habe – insbesondere für Nutzer, die von älteren Versionen (z. B.

v0.7) aktualisiert haben und Probleme mit der Benutzerzuordnung haben.

Ein häufiger Fehler lautet:

“No LDAP UID found in OpenID response”

Dies tritt auf, auch wenn der Login funktioniert , aber Nextcloud den Benutzer nicht mit dem LDAP-Konto verbinden kann.

Die Lösung liegt in der korrekten Konfiguration der oidc_login -App im Zusammenspiel mit dem LDAP-Backend.

:white_check_mark: Schritt-für-Schritt-Anleitung

  1. OIDC-Client in Libre Workspace anlegen
  • Gehe zu: Portal → Verwaltung → Systemkonfiguration → OpenID Connect (SSO)
  • Neuer Client:
    • Name: Nextcloud
    • Redirect-URI: https://deine-domain.tld/index.php/apps/oidc_login/oidc
    • Client-Typ: Vertraulich
    • Response Type: code
    • JWT-Algorithmus: RS256
    • Einwilligung wiederverwenden: aktiviert
  1. Nextcloud-Konfiguration anpassen Öffne config.php :
sudo nano /var/www/nextcloud/config/config.php

Füge hinzu:

'oidc_login_provider_url' => 'https://dein-portal.tld/openid',
'oidc_login_client_id' => 'DEINE_CLIENT_ID',
'oidc_login_client_secret' => 'DEIN_CLIENT_GEHEIMNIS',
'oidc_login_auto_redirect' => true,
'oidc_login_hide_password_form' => true,
'oidc_login_attributes' => [
    'id' => 'preferred_username',
    'name' => 'name',
    'mail' => 'email',
    'ldap_uid' => 'preferred_username',  // 🔑 Wichtig für LDAP-Zuordnung!
],
'oidc_login_scope' => 'openid profile email',
'overwriteprotocol' => 'https',
'user_oidc' => [
    'auto_provision' => true,
],
'oidc_login_proxy_ldap' => true,

→ Der Schlüssel ist 'ldap_uid' => 'preferred_username'ohne dies kann kein Match mit LDAP erfolgen , da Libre Workspace uid nicht im Token sendet, aber preferred_username enthält den Benutzernamen.

  • Dienste neu starten
sudo systemctl restart php*fpm caddy

:warning: Wichtige Hinweise

  • Libre Workspace sendet kein uid -Claim , auch wenn der Scope vorhanden ist.

  • Stattdessen wird der Benutzername unter preferred_username übertragen.

  • Die LDAP-App in Nextcloud sucht nach uid – daher muss ldap_uid explizit auf preferred_username gemappt werden.

  • Der Login-Filter in der LDAP-Konfiguration sollte lauten:
    (&(objectclass=posixAccount)(uid=%uid))


:end_arrow: Fazit

Mit dieser Konfiguration funktioniert der SSO-Login stabil, und Benutzer werden korrekt mit ihrem LDAP-Konto verknüpft – keine Doppelkonten, keine Fehlermeldung .

Vielleicht hilft es anderen, die wie ich lange gesucht haben.
Fragen gerne – ich versuche zu helfen!

Viele Grüße

P.S.: Ein großer Dank geht an den Brave Search Assistant – deine Hilfe war entscheidend für den Erfolg!

Hallo zusammen,

nach anfänglichen Schwierigkeiten mit 404 Not Found bei der OIDC-Anmeldung habe ich Matrix Synapse erfolgreich mit Libre Workspace verbunden – hier die Schritte, die bei mir funktioniert haben.


:white_check_mark: 1. OIDC-Client in Libre Workspace anlegen

  • Name: Matrix
  • Redirect-URI: https://element.deine-domain.tld/_synapse/client/oidc/callback
  • Client-Typ: Vertraulich
  • Client-ID & Geheimnis: wie gewünscht
  • Response Type: code
  • JWT-Algorithmus: RS256
  • Einwilligung wiederverwenden: aktiviert

:white_check_mark: 2. homeserver.yaml anpassen

Stelle sicher, dass public_baseurl gesetzt ist:

public_baseurl: https://element.deine-domain.tld/

Füge den OIDC-Provider hinzu:

oidc_providers:
  - idp_id: libreworkspace
    idp_name: "Libre Workspace"
    discover: true
    issuer: "https://portal.deine-domain.tld/openid"
    client_id: "DEINE_CLIENT_ID"
    client_secret: "DEIN_GEHEIMNIS"
    scopes: ["openid", "profile", "email"]
    allow_existing_users: true
    user_mapping_provider:
      config:
        localpart_template: "{{ user.preferred_username }}"
        display_name_template: "{{ user.name }}"
        email_template: "{{ user.email }}"

:white_check_mark: 3. Caddyfile korrekt konfigurieren

Da Element und Synapse unterschiedliche Pfade nutzen, muss Caddy diese weiterleiten:

element.deine-domain.tld {
    reverse_proxy /_matrix/* localhost:8008
    reverse_proxy /_synapse/client/* localhost:8008
    reverse_proxy localhost:15124
}

→ Ohne die ersten beiden Zeilen erhält man einen 404-Fehler beim SSO-Login , da die OIDC-Callback-Pfade nicht an Synapse weitergeleitet werden.


:repeat_button: 4. Dienste neu laden

sudo docker restart matrix-synapse-1
sudo systemctl reload caddy

:end_arrow: Fazit

Mit dieser Konfiguration funktioniert der SSO-Login über Libre Workspace stabil – keine 404-Fehler mehr, Benutzer werden automatisch angelegt.

Ein großer Dank geht an den Brave Search Assistant – deine Hilfe war entscheidend! :raising_hands:

Viele Grüße

Danke für Deine Erfahrungen!
Der von Dir angebrachte 404 Fehler ist mir nicht bekannt.
Aber schön zu sehen, wie Ihr sonst die OIDC-Verbindungen nutzt :slight_smile: