IMAP Login in cloud.4future.one (Nextcloud)

Neues IMAP-Authentifizierungs-Plugin für Nextcloud

Viele von euch wissen:
Unsere Nextcloud-Instanzen authentifizieren Benutzer derzeit über IMAP – also das Protokoll, mit dem sich E-Mail-Programme beim Mailserver anmelden.

Das hat lange gut funktioniert, aber seit Nextcloud 29 wurde das bisherige user_external Backend offiziell abgekündigt und funktioniert in neueren Versionen nicht mehr zuverlässig.

Ich habe das alte Backend mit einigem „Klebeband und Draht“ so weit am Leben gehalten, dass es grundsätzlich noch läuft – allerdings mit unschönen Seiteneffekten:
:small_blue_diamond: Benutzer werden regelmäßig automatisch abgemeldet
:small_blue_diamond: Sessions verfallen unregelmäßig
:small_blue_diamond: und einige neue Sicherheitsmechanismen in Nextcloud greifen nicht korrekt

Da Nextcloud die Schnittstelle inzwischen stark verändert hat, war klar:
:backhand_index_pointing_right: Ein neues, sauberes Backend muss her.

Lösung: Neues IMAP-Authentifizierungs-Plugin

Ich habe daher ein eigenes IMAP-Authentifizierungs-Plugin entwickelt, das das alte user_external-Backend vollständig ersetzt.
Es nutzt die aktuelle Nextcloud-API (kompatibel mit Version 27–32) und authentifiziert Benutzer direkt über unseren Mailserver – ohne dass Passwörter doppelt gespeichert werden müssen.

Das bedeutet: Wer sich mit seiner E-Mail-Adresse und seinem Mailpasswort anmeldet, kommt automatisch auch in die Nextcloud.

Vorteile:
:white_check_mark: Stabile Anmeldung über IMAP (SSL/TLS)
:white_check_mark: Kompatibel mit aktuellen Nextcloud-Versionen
:white_check_mark: Keine unerwarteten Abmeldungen mehr
:white_check_mark: Keine doppelte Passwortverwaltung
:white_check_mark: Einfacher Umstieg – bestehende Benutzerkonten funktionieren weiterhin

Warum überhaupt IMAP?

IMAP (Internet Message Access Protocol) ist eigentlich das Protokoll, über das E-Mail-Programme wie Outlook oder Thunderbird auf den Posteingang zugreifen.
Was viele nicht wissen: IMAP kann auch einfach zur Benutzerauthentifizierung genutzt werden – also zum Prüfen, ob ein Benutzername und Passwort gültig sind.

Das Schöne daran:
Wenn man ohnehin einen Mailserver mit Benutzerkonten hat, kann man diese auch für andere Dienste wiederverwenden – etwa für Nextcloud, OnlyOffice oder Chat-Systeme. So müssen Benutzer sich nur ein Passwort merken – und Admins haben eine zentrale Benutzerverwaltung.

Man kann das also mit einem Augenzwinkern als
:backhand_index_pointing_right: „Single Sign-On für arme Leute“
bezeichnen – einfach, praktisch und ganz ohne zusätzliche Infrastruktur.

Nächster Schritt: Keycloak

Langfristig werden wir auf eine moderne Single-Sign-On-Lösung mit Keycloak umsteigen. Damit können sich Benutzer künftig einmal zentral anmelden und dann automatisch auf alle 4future-Dienste zugreifen – von Nextcloud über OnlyOffice bis Zulip und Jitsi.

Bis dahin sorgt das neue IMAP-Auth-Plugin dafür, dass alles stabil, sicher und komfortabel weiterläuft.

Kurz gesagt:
Das alte IMAP-Backend war am Limit – jetzt gibt es eine moderne, zuverlässige Lösung, die uns den Übergang zu einer zentralen Login-Plattform erleichtert.

Ich plane für morgen Abend einen Umstieg von Nextcloud 31 auf 32 und dabei auch gleich den Umstieg von user_external auf das neue IMAP Plugin. Nextcloud wird daher morgen am späteren Abend (ab 21:00 eine Weile nicht verfügbar sein).

4 „Gefällt mir“

Was ich gestern gemacht habe:

  • Migration der Datenbank von MariaDB (MySQL) auf PostgreSQL (Patroni Cluster), weil es im Logfile immer wieder Meldungen über Dirty Reads gab.
    Die Migration hat diese Fehler behoben.
  • Upgrade NextCloud 31 –> 32
    Es ist jetzt die aktuellste Version von NextCloud im Einsatz.
  • IMAP Plugin installiert und user_external deaktiviert

Ich bin aktuell noch immer dabei Problemen nachzugehen und aufzuräumen.

2 „Gefällt mir“