JWT SSO Rollenzuweisung
Komponente local_eledia_assignrole · Version v1.0.1 (Build: 20260827)
Einsatz und Zielgruppe
Abschnitt betitelt „Einsatz und Zielgruppe“Das Plugin richtet sich an die Administration von Plattformen, die Personen über das Plugin JWT SSO anmelden. Es wird gebraucht, wenn das vorgelagerte System nicht nur die Identität, sondern auch Rechte und Lebensdauer eines Kontos bestimmen soll.
Der wichtigste Einsatz sind Support-Zugänge: Eine Person aus dem Support meldet sich über das vorgelagerte System an, erhält für eine begrenzte Zeit Administrationsrechte, und das Konto verschwindet danach von selbst.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Moodle 4.5 oder neuer
- das Plugin
auth_jwtssoin Version 2025121101 oder neuer, eingerichtet und aktiv
Einrichtung
Abschnitt betitelt „Einrichtung“- Installieren Sie das Plugin unter
local/eledia_assignrole. - Öffnen Sie Website-Administration → Plugins → Lokale Plugins → JWT SSO Rollenzuweisung.
- Setzen Sie den Haken bei Plugin aktivieren.
- Stimmen Sie mit den Verantwortlichen des vorgelagerten Systems ab, welche Werte das Token enthält.
Werte im Token
Abschnitt betitelt „Werte im Token“role: der Kurzname einer Rolle, etwa manager, coursecreator oder editingteacher. Die Rolle wird im Systemkontext zugewiesen. Gibt es die Rolle nicht, wird das protokolliert, und das Konto entsteht trotzdem.
admin: macht die Person zur Administratorin oder zum Administrator der Website. Der besondere Wert support kennzeichnet ein Support-Konto. Für Support-Konten gilt:
- Alle E-Mail-Benachrichtigungen sind abgeschaltet.
- In Moodle Workplace wird das Konto dem Mandanten „Administration“ zugeordnet. Fehlt der Mandant, wird er angelegt.
- Ohne eigenes Löschdatum wird das Konto vier Wochen nach dem Anlegen gelöscht.
deletetime: ein Zeitpunkt als Unix-Zeitstempel in Sekunden. Zu diesem Zeitpunkt löscht eine Aufgabe das Konto. Werte in der Vergangenheit oder in falschem Format werden ignoriert und protokolliert. Mit 0 wird das Konto nicht automatisch gelöscht.
Beispiel für ein Support-Konto, das zu einem festen Zeitpunkt gelöscht wird:
{ "email": "support@example.org", "admin": "support", "deletetime": 1767225600 }Wann das Plugin wirkt
Abschnitt betitelt „Wann das Plugin wirkt“Das Plugin reagiert auf das Ereignis, mit dem JWT SSO ein neues Konto meldet. Es wirkt also beim ersten Anlegen eines Kontos. Bei späteren Anmeldungen derselben Person ändert es Rollen und Rechte nicht. Wer eine Rolle wieder verlieren soll, verliert sie über die Rollenverwaltung in Moodle oder über das Löschen des Kontos.
Empfehlungen für den Betrieb
Abschnitt betitelt „Empfehlungen für den Betrieb“Geben Sie Support-Konten immer ein Löschdatum mit, auch wenn die Vorgabe von vier Wochen greift. So ist im vorgelagerten System nachvollziehbar, wie lange ein Zugang besteht.
Vergeben Sie über role nur Rollen, deren Rechte Sie kennen und die für alle Personen dieses Anmeldewegs passen. Für Ausnahmen ist die Rollenverwaltung in Moodle der bessere Ort.
Prüfen Sie nach der Einrichtung mit einem Testkonto, ob Rolle, Administrationsrechte und Löschaufgabe wie erwartet ankommen. Die geplante Löschung sehen Sie unter Website-Administration → Server → Ad-hoc-Aufgaben.
Datenschutz
Abschnitt betitelt „Datenschutz“Das Plugin speichert keine eigenen personenbezogenen Daten. Es weist Rollen zu und plant Aufgaben zum Löschen, beides mit den Mitteln von Moodle. Durch das automatische Löschen bleiben befristete Konten nicht länger bestehen als vorgesehen. Die Zuweisung von Rollen erscheint in den Moodle-Protokollen.
Grenzen
Abschnitt betitelt „Grenzen“- Ohne auth_jwtsso hat das Plugin keine Funktion.
- Rollen werden nur im Systemkontext vergeben, nicht in Kursen oder Kategorien.
- Das Plugin vertraut dem Token. Wer den Schlüssel des vorgelagerten Systems besitzt, kann Administrationsrechte vergeben. Schützen Sie diesen Schlüssel entsprechend.
- Die Mandantenzuordnung wirkt nur in Moodle Workplace.
FAQ und Fehlerbehebung
Abschnitt betitelt „FAQ und Fehlerbehebung“Die Rolle wurde nicht zugewiesen. Prüfen Sie, ob der Kurzname der Rolle stimmt und die Rolle im Systemkontext zuweisbar ist. Der Fehler steht im Protokoll.
Das Support-Konto wurde nicht gelöscht. Prüfen Sie, ob die Ad-hoc-Aufgaben laufen, also ob der Moodle-Cron regelmäßig ausgeführt wird.
Bestehende Konten erhalten die neue Rolle nicht. Das ist beabsichtigt. Das Plugin wirkt nur beim Anlegen eines Kontos.