Drei Tore bis zum Kursraum
Szene 6 von 15
Kontoverbindung, vorhandene Servermitgliedschaft und lokales Kursrecht werden getrennt geprüft. Ein Hintergrundprozess gleicht daraus die verwalteten Discord-Rollen ab.
Erklärung
Stellt euch vor, Lenn hat sein Discord-Konto verbunden, ist dem Server aber noch nicht beigetreten. Dann kann der Worker keine bestehende Mitgliedschaft mit einer Kursrolle ergänzen. Ist Lenn bereits Mitglied, wird zusätzlich das aktive lokale Konto und die Kursfreigabe geprüft. Der Worker verwaltet nur seine eigenen Rollen und lässt fremde Rollen bestehen. Entfernt man die lokale Freigabe, muss auch das externe Recht wieder verschwinden. Das passiert durch wiederholten Abgleich, nicht synchron in jeder Discord-Anfrage. Bei Ausfällen kann die Entfernung verzögert sein. Genau diese zeitliche Grenze gehört zur Erklärung eines Integrationssystems.
Drei Tore bis zum Kursraum
- 1 · Identität
- Eine bestätigte Kontoverbindung ordnet die Discord-Person zu.
- 2 · Mitgliedschaft
- Die Person ist bereits im vorgesehenen Server und hat erforderliches Screening abgeschlossen.
- 3 · Berechtigung
- Aktives lokales Konto und passende Kursfreigabe bestimmen die verwaltete Rolle.
- 4 · Wiederholt abgleichen
- Entzogene Rechte entfernen; Ausfälle und Wiederholungen berücksichtigen.
Schritt für Schritt
1 · Identität
Eine bestätigte Kontoverbindung ordnet die Discord-Person zu.
2 · Mitgliedschaft
Die Person ist bereits im vorgesehenen Server und hat erforderliches Screening abgeschlossen.
3 · Berechtigung
Aktives lokales Konto und passende Kursfreigabe bestimmen die verwaltete Rolle.
4 · Wiederholt abgleichen
Entzogene Rechte entfernen; Ausfälle und Wiederholungen berücksichtigen.
Selbst ausprobieren
Lenn erklärt den Zugang. Jakob entfernt gedanklich die Kursfreigabe. Was muss der nächste Abgleich tun, und was kann während eines Discord-Ausfalls verzögert sein?
Belege
Umsetzungsbericht · historisch · feat(leana): reconcile dedicated Discord course roles
2026-09-16 · docs/lernbegleiter/phases/campus-integrations-connectors-2026-09-16.md · 82bc70dd3d5d9f8185c8668c8446b3939fc1d6be
The worker obtains the complete paginated guild member inventory before changing roles, preserves every unrelated role, removes stale grants before adding new ones, and rechecks local authorization before/after grants. In-flight access loss is compensated. Pending server-screening members and bots receive no managed course role. Provider failures stop the run; HTTP 429 persists a retry deadline. Revocation is eventually consistent and can be delayed by provider outages; membership is not enforced synchronously on every Discord request. A root-owned system-Python worker keeps the bot token out of Flask. Audit counts are written through an unprivileged child. Runtime receipts contain aggregate counts only. No application code or learner database migration was deployed in this continuation.
Mit meinem Konto im Hörsaal öffnen →