Files
deskhub/Plugins/plugins/authentik/README.md
T
2026-11-01 11:18:05 +00:00

5.2 KiB

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

  1. In authentik unter Anwendungen → Provider einen Provider vom Typ OAuth2/OpenID anlegen, Client-Typ vertraulich.
  2. Umleitungs-URI (Modus „Strict“): https://<deine-DeskHub-Adresse>/staff/plugin_login.php?p=authentik&e=callback (die genaue Adresse zeigt die Einstellungsseite).
  3. Bereiche: openid, email, profile; für die Gruppenprüfung zusätzlich ein Bereich, der groups liefert.
  4. Eine Anwendung mit diesem Provider anlegen und festlegen, wer sie nutzen darf.
  5. In DeskHub: Plugin hochladen und aktivieren (Berechtigungen ui.menu, auth.login und auth.customer bestä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.
  6. 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) und nonce, 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) und nonce. 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 (http nur zu localhost zum 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.