authentik-Anmeldung für DeskHub
Mitarbeiter und Kunden melden sich mit authentik an (OpenID Connect, Authorization-Code-Ablauf mit PKCE). Auf der Anmeldeseite des Mitarbeiterbereichs und, wenn eingeschaltet, des Kundenportals erscheint zusätzlich der Knopf „Mit authentik anmelden“. E-Mail und Passwort bleiben als Zugang erhalten.
Voraussetzung: DeskHub 1.0.52 oder neuer (Berechtigungen auth.login und auth.customer, Anmelde-Adressen /staff/plugin_login.php und /plugin_login.php).
Einrichtung
- In authentik unter Anwendungen → Provider einen Provider vom Typ OAuth2/OpenID anlegen, Client-Typ vertraulich.
- Umleitungs-URI (Modus „Strict“):
https://<deine-DeskHub-Adresse>/staff/plugin_login.php?p=authentik&e=callback(die genaue Adresse zeigt die Einstellungsseite). - Bereiche:
openid,email,profile; für die Gruppenprüfung zusätzlich ein Bereich, dergroupsliefert. - Eine Anwendung mit diesem Provider anlegen und festlegen, wer sie nutzen darf.
- In DeskHub: Plugin hochladen und aktivieren (Berechtigungen
ui.menu,auth.loginundauth.customerbestätigen), dann im Adminportal unter authentik die Issuer-Adresse (https://auth.example.de/application/o/<Anwendungs-Kürzel>), Client-ID und Client-Geheimnis eintragen, „Anmeldung einschalten“, speichern, Verbindung testen. - Mitarbeiter: Jeder hat sein DeskHub-Konto und verknüpft es einmal unter Mein authentik-Konto (oder meldet sich beim ersten Mal mit gleicher E-Mail-Adresse an). Kunden: unter „Kunden“ einschalten (siehe unten).
Mitarbeiter
Angemeldet wird nur, wer in authentik bestätigt ist (E-Mail nicht als „nicht bestätigt“ markiert) und in DeskHub ein aktives Mitarbeiterkonto hat, das mit seinem authentik-Konto verknüpft ist. Die Verknüpfung macht jeder Mitarbeiter selbst unter Mein authentik-Konto (Menü) mit einem Klick; sie hängt an der festen Benutzerkennung von authentik, nicht an der E-Mail-Adresse. Ohne Verknüpfung klappt die erste Anmeldung auch, wenn die E-Mail-Adresse in authentik und DeskHub gleich ist; dabei wird automatisch verknüpft. Mit der Einstellung Nur verknüpfte Konten geht das nicht mehr. Hat ein DeskHub-Konto schon eine Verknüpfung, kann ein fremdes authentik-Konto mit gleicher E-Mail-Adresse nicht hinein. Administratoren sehen alle Verknüpfungen in den Einstellungen und können sie lösen. Konten werden nicht automatisch angelegt. Optional zusätzlich nur Mitglieder einer authentik-Gruppe. Die zweite Stufe von DeskHub (Authenticator-Code) entfällt bei dieser Anmeldung, weil authentik sie übernimmt. Jede Anmeldung und jede Ablehnung steht im Admin-Protokoll.
Kunden (Ticketersteller)
In den Einstellungen unter „Kunden“ einschalten. Dann erscheint der Knopf auch auf der Anmeldeseite des Kundenportals. Es zählt nur die in authentik bestätigte E-Mail-Adresse: Gibt es ein Kundenkonto mit dieser Adresse, wird es angemeldet; gibt es keines und „automatisch anlegen“ ist an, legt DeskHub es an (Name aus authentik, ohne Passwort; wer eines will, nutzt „Passwort vergessen“). Gesperrte Adressen (Sperrliste) kommen nicht hinein. Optional nur Kunden einer eigenen authentik-Gruppe. Die Rückkehr-Adresse in authentik ist dieselbe wie für Mitarbeiter, Sie brauchen keine zweite. Neue Kundenkonten stehen im Admin-Protokoll.
Sicherheit
- PKCE (S256), zufälliger Zustandswert (
state) undnonce, jeder Ablauf gilt nur einmal und höchstens 10 Minuten. - Das ID-Token kommt direkt vom Token-Endpunkt über eine geprüfte HTTPS-Verbindung (Zertifikat und Name werden geprüft, keine Weiterleitungen); geprüft werden Aussteller (
iss), Zielgruppe (aud/azp), Ablauf (exp) undnonce. Eine zusätzliche Signaturprüfung ist dafür nach OIDC Core 3.1.3.7 nicht nötig. - E-Mail nicht bestätigt: Meldet authentik
email_verified = false, ordnet DeskHub ein Konto nicht über die Adresse zu (nicht verknüpfte Mitarbeiter, Kunden). Das Verknüpfen unter „Mein authentik-Konto“ und die Anmeldung schon verknüpfter Konten gehen trotzdem. Ausschaltbar mit „Bestätigte E-Mail-Adresse verlangen“ (nur sinnvoll, wenn allein Sie in authentik Benutzer anlegen und Adressen ändern). - Adressen: nur
https(httpnur zulocalhostzum Testen), ohne Zugangsdaten, Parameter und Anker. - Das Client-Geheimnis liegt verschlüsselt in der Datenbank und wird nie wieder angezeigt.
- Fällt authentik aus, melden sich Mitarbeiter weiter mit E-Mail und Passwort an.
Grenzen
- Mitarbeiterkonten werden nicht automatisch angelegt und es gibt keine Rollen- oder Abteilungszuordnung aus Gruppen. Kundenkonten entstehen nur auf Wunsch.
- Kunden werden nur über die E-Mail-Adresse zugeordnet (keine feste Verknüpfung). Wer die E-Mail-Adresse in authentik ändern darf, könnte damit ein anderes Kundenkonto öffnen: Das in authentik absichern, wenn Kunden sich dort selbst registrieren dürfen.
- Abmelden in DeskHub meldet nicht bei authentik ab (kein „Single Logout“).
- Das Plugin schaltet die Anmeldung mit E-Mail und Passwort nicht ab.
Tests
tests/plugin_authentik.php (OpenID-Ablauf mit nachgebautem authentik) und tests/plugin_login.php (Anmelde-Erweiterung des Servers) im DeskHub-Projekt.