Nextcloud
Dieser Leitfaden erklärt Ihnen, wie Sie die Single Sign-On (SSO)-Authentifizierung zwischen SmartLink und Nextcloud mithilfe des Social Login-Plugins mit OpenID Connect einrichten.
Voraussetzungen
- Nextcloud Version 20 oder höher
- Administratorzugriff auf Nextcloud
- Anwendung in SmartLink mit OpenID Connect konfiguriert
- Social Login-Plugin in Nextcloud installiert
Installation des Social Login-Plugins
Über die Nextcloud-Oberfläche
- Melden Sie sich als Administrator bei Nextcloud an
- Gehen Sie zu Einstellungen → Apps
- Suchen Sie nach "Social Login" in der Kategorie Integration
- Klicken Sie auf Herunterladen und aktivieren
Über die Befehlszeile
cd /var/www/nextcloud
sudo -u www-data php occ app:install sociallogin
sudo -u www-data php occ app:enable sociallogin
Konfiguration in SmartLink
1. Anwendung erstellen
- Melden Sie sich als Administrator bei SmartLink an
- Gehen Sie zu Anwendungen → Hinzufügen
- Suchen Sie nach "Nextcloud" oder erstellen Sie eine benutzerdefinierte Anwendung
- Konfigurieren Sie die Grundinformationen:
- Name: Nextcloud
- URL:
https://your-nextcloud.example.com - Symbol: Wählen Sie das Nextcloud-Symbol aus
2. OpenID Connect konfigurieren
- Im Authentifizierungs-Tab der Anwendung
- Wählen Sie OpenID Connect als Authentifizierungstyp aus
- Notieren Sie die folgenden Informationen:
- Client-ID:
nextcloud-xxxxxx - Client-Geheimnis:
secret-xxxxxx - Issuer-URL:
https://your-smartlink.link.vaultys.org/api/oidc/[appid] - App-ID:
[appid](eindeutige Kennung der Anwendung in SmartLink)
- Client-ID:
3. Weiterleitungs-URLs konfigurieren
Fügen Sie in den Zugelassenen Weiterleitungs-URLs-Abschnitt hinzu:
https://your-nextcloud.example.com/apps/sociallogin/custom_oidc/smartlink
Hinweis: Die
[appid]wird automatisch generiert, wenn die Anwendung in SmartLink erstellt wird.
4. Scopes konfigurieren
Stellen Sie sicher, dass die folgenden Scopes aktiviert sind:
openidprofileemailgroups(optional, für die Gruppensynchronisierung)
Konfiguration in Nextcloud
1. Zugriff auf die Social Login-Einstellungen
- Melden Sie sich als Administrator bei Nextcloud an
- Gehen Sie zu Einstellungen → Verwaltung → Social Login
2. Allgemeine Konfiguration
Im Abschnitt Allgemeine Einstellungen:
- ✅ Automatische Registrierung zulassen: Aktivieren, wenn Sie Konten automatisch erstellen möchten
- ✅ Neues Konto erstellen, wenn nicht vorhanden: Empfohlen
- ✅ Benutzerprofil bei jeder Anmeldung aktualisieren: Zur Synchronisierung von Informationen
- ⬜ Nextcloud-Authentifizierung deaktivieren: Deaktiviert lassen, um den lokalen Adminzugriff beizubehalten
- ✅ Anmeldung mit E-Mail zulassen: Für einen einfacheren Benutzerzugriff
Anmeldebutton: Mit SmartLink anmelden
3. Hinzufügen eines benutzerdefinierten OpenID Connect-Anbieters
Klicken Sie auf + Benutzerdefiniertes OpenID Connect und konfigurieren Sie:
- Interne ID:
smartlink - Angezeigter Name:
SmartLink SSO - Autorisierungs-URL:
https://your-smartlink.link.vaultys.org/api/oidc/[appid]/authorize - Token-URL:
https://your-smartlink.link.vaultys.org/api/oidc/[appid]/token - Benutzerinfo-URL:
https://your-smartlink.link.vaultys.org/api/oidc/[appid]/userinfo - Abmelde-URL:
https://your-smartlink.link.vaultys.org/logout - Client-ID:
[Von SmartLink kopieren] - Client-Geheimnis:
[Von SmartLink kopieren] - Scope:
openid profile email groups
4. Zuordnung der Attribute
Konfiguration der Benutzerfeldzuordnung:
- Benutzer-ID:
suboderemail - Angezeigter Name:
name - E-Mail:
email - Quota: Leer lassen oder nach Bedarf konfigurieren
- Gruppen:
groups(bei Verwendung der Gruppensynchronisierung)
5. Erweiterte Einstellungen (optional)
- Standardgruppen: Automatisch zugewiesene Nextcloud-Gruppen
- Button auf Anmeldeseite: Button-Stil (0 = Standardbutton)
- Nur bestimmte Gruppen zulassen: Liste der autorisierten SmartLink-Gruppen
Erweiterte Konfiguration
Gruppensynchronisierung
Um SmartLink-Gruppen automatisch mit Nextcloud zu synchronisieren:
- Aktivieren Sie im SmartLink den Scope
groupsfür die Anwendung - Konfigurieren Sie im Nextcloud Social Login das Gruppenmapping:
Gruppenanspruch: groups - Aktivieren Sie "Gruppen erstellen, wenn nicht vorhanden"
Automatische Bereitstellung mit SCIM (optional)
Für eine vollständige Bereitstellung von Benutzern und Gruppen können Sie auch SCIM konfigurieren:
- Installieren Sie die App Benutzerbereitstellung in Nextcloud
- Konfigurieren Sie SCIM in SmartLink (siehe SCIM-Anleitung)
- SCIM-URL für Nextcloud:
https://your-nextcloud.example.com/apps/scimserviceprovider
Konfiguration über Umgebungsvariablen
Für automatisierte Bereitstellungen können Sie Social Login über config.php konfigurieren:
'sociallogin' => [
'auto_create_groups' => true,
'update_profile_on_login' => true,
'providers' => [
'smartlink' => [
'displayName' => 'SmartLink SSO',
'apiBaseUrl' => 'https://your-smartlink.link.vaultys.org',
'authorizeUrl' => 'https://your-smartlink.link.vaultys.org/api/oidc/[appid]/authorize',
'tokenUrl' => 'https://your-smartlink.link.vaultys.org/api/oidc/[appid]/token',
'userInfoUrl' => 'https://your-smartlink.link.vaultys.org/api/oidc/[appid]/userinfo',
'logoutUrl' => 'https://your-smartlink.link.vaultys.org/logout',
'clientId' => 'nextcloud-xxxxxx',
'clientSecret' => 'secret-xxxxxx',
'scope' => 'openid profile email groups',
'userMapping' => [
'id' => 'sub',
'name' => 'name',
'email' => 'email',
'groups' => 'groups'
]
]
]
],
Konfigurationstest
1. Anmeldeüberprüfung
- Melden Sie sich von Nextcloud ab
- Klicken Sie auf der Anmeldeseite auf "Mit SmartLink anmelden"
- Sie sollten zu SmartLink weitergeleitet werden
- Melden Sie sich mit Ihren SmartLink-Anmeldeinformationen an
- Sie sollten zu Nextcloud weitergeleitet und automatisch angemeldet werden
2. Überprüfung der Benutzerinformationen
- Gehen Sie zu Einstellungen → Persönliche Informationen
- Überprüfen Sie, ob die Informationen korrekt synchronisiert sind:
- Anzeigename
- E-Mail-Adresse
- Gruppen (falls konfiguriert)
3. Abmeldeüberprüfung
- Klicken Sie auf Ihr Profil → Abmelden
- Stellen Sie sicher, dass Sie auch von SmartLink abgemeldet sind
Fehlerbehebung
Fehler "Ungültige Weiterleitungs-URI"
Problem: Die Weiterleitungs-URL ist nicht korrekt konfiguriert
Lösung:
- Stellen Sie sicher, dass die URL in SmartLink genau übereinstimmt:
https://your-nextcloud.example.com/apps/sociallogin/custom_oidc/smartlink - Achten Sie auf das Protokoll (http vs. https) und den abschließenden Schrägstrich
Fehler "Ungültige Client-Anmeldeinformationen"
Problem: Die Client-Anmeldeinformationen sind falsch
Lösung:
- Überprüfen Sie die Client-ID und das Client-Geheimnis in SmartLink
- Stellen Sie sicher, dass beim Kopieren keine zusätzlichen Leerzeichen vorhanden sind
- Generieren Sie das Geheimnis bei Bedarf neu
Gruppen werden nicht synchronisiert
Problem: Die SmartLink-Gruppen werden in Nextcloud nicht angezeigt
Lösung:
- Stellen Sie sicher, dass der Scope
groupsin SmartLink aktiviert ist - Überprüfen Sie in Social Login, ob das Gruppenmapping konfiguriert ist:
groups - Aktivieren Sie "Gruppen erstellen, wenn nicht vorhanden"
- Stellen Sie sicher, dass der Benutzer in SmartLink tatsächlich Gruppen zugeordnet ist
Fehler "Benutzerinformationen konnten nicht abgerufen werden"
Problem: Nextcloud kann die Benutzerinformationen nicht abrufen
Lösung:
- Überprüfen Sie die UserInfo-URL:
https://your-smartlink.link.vaultys.org/api/oidc/[appid]/userinfo - Testen Sie den Endpunkt mit curl:
curl -H "Authorization: Bearer TOKEN" https://your-smartlink.link.vaultys.org/api/oidc/[appid]/userinfo - Überprüfen Sie die SmartLink-Logs auf Autorisierungsfehler
Benutzer erstellt, aber Anmeldung nicht möglich
Problem: Das Konto wurde erstellt, aber der Benutzer kann sich nicht erneut anmelden
Lösung:
- Überprüfen Sie die Zuordnung der Benutzer-ID (die Verwendung von
subwird empfohlen) - Stellen Sie sicher, dass die ID eindeutig und stabil ist
- Überprüfen Sie die Nextcloud-Logs:
tail -f /var/www/nextcloud/data/nextcloud.log | grep sociallogin
Sicherheit
Empfehlungen
- HTTPS erforderlich: Verwenden Sie immer HTTPS für Nextcloud und SmartLink
- Sichere Geheimnisse: Speichern Sie das Client-Geheimnis sicher
- IP-Einschränkung: Begrenzen Sie nach Möglichkeit den Zugriff auf OAuth-Endpunkte nach IP
- Geheimnisrotation: Ändern Sie das Client-Geheimnis regelmäßig
- Audit-Logs: Aktivieren und überwachen Sie die Anmelde-Logs
Lokale Authentifizierung deaktivieren
Um die ausschließliche Verwendung von SSO zu erzwingen:
- Aktivieren Sie in Social Login "Nextcloud-Authentifizierung deaktivieren"
- ⚠️ Achtung: Behalten Sie immer ein lokales Administratorkonto für Notfälle bei:
sudo -u www-data php occ user:add admin --password-from-env