docs(plan): invitation links, invite by email and multi-use codes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ce66933acc
commit
d97f0e6dbf
1 file changed
+21
-4
@@ -51,7 +51,23 @@ Damit die Admin-Einstellungen nicht überladen werden:
|
||||
```
|
||||
- `ALLOW_REGISTRATION=true` bleibt als Alias für `REGISTRATION_MODE=open` erhalten.
|
||||
|
||||
## 3. Anmelden mit anderen Konten
|
||||
## 3. Einladungen bequemer
|
||||
|
||||
Heute: Der Admin erzeugt einen Code (optional an eine E-Mail-Adresse und Organisation gebunden, Rolle, Gültigkeit 1–365 Tage, **einmal** verwendbar) und gibt ihn weiter; die Person wählt auf der Anmeldeseite „Einladungscode“ und tippt ihn ab.
|
||||
|
||||
**Einladungslink**
|
||||
- Jeder Code ist auch als Link nutzbar: `https://<instanz>/?invite=<CODE>`. Der Link öffnet direkt die Registrierung mit eingetragenem Code; ist er an eine Adresse gebunden, steht die E-Mail schon fest.
|
||||
- Die App entfernt den Code nach dem Öffnen aus der Adresszeile (wie beim Passwort-Link).
|
||||
- In der Admin-Liste neben jedem Code: **Link kopieren** und – mit SMTP – **per E-Mail einladen** (Adresse eingeben → E-Mail im MindSift-Layout mit Knopf „Konto anlegen“, wer eingeladen hat, Gültigkeit). Beim Einladen per E-Mail wird der Code automatisch an diese Adresse gebunden.
|
||||
- Den Link baut die Admin-Oberfläche aus der aktuellen Adresse; nur die E-Mail braucht `BASE_URL`.
|
||||
|
||||
**Mehrere Personen mit einem Code**
|
||||
- Neues Feld **„Wie oft verwendbar“** (Standard 1, z. B. 20) – ein Link für eine ganze Gruppe, Klasse oder Familie. In der Liste steht „3 von 20 verwendet“, Widerrufen beendet ihn sofort.
|
||||
- Alternativ **„N Einzel-Codes erzeugen“** (z. B. 20 Stück auf einmal) mit Kopieren/Export als Liste, wenn jede Person ihren eigenen Code bekommen soll.
|
||||
- Mehrfach-Codes können nicht an eine einzelne E-Mail gebunden werden, wohl aber an eine Organisation und an die erlaubten E-Mail-Endungen (Abschnitt 1).
|
||||
- Technisch: Spalten `max_uses` und `use_count` an `user_invites`; das bestehende „Code reservieren → Konto anlegen → als benutzt markieren“ zählt dann hoch statt abzuschließen (weiter ohne Doppelverwendung bei gleichzeitigen Registrierungen).
|
||||
|
||||
## 4. Anmelden mit anderen Konten
|
||||
|
||||
### OpenID Connect (statt „nur Google“)
|
||||
|
||||
@@ -75,9 +91,10 @@ Eine Anmeldung über den Mailserver (SMTP-Prüfung wie in Gitea) ist bewusst nic
|
||||
|
||||
## Reihenfolge und Aufwand (grob)
|
||||
|
||||
1. Registrierungsmodus mit Freigabe und Endungen, Umgebungsvariablen, Admin-Liste „Wartet auf Freigabe“, E-Mails – mittel.
|
||||
2. E-Mail-Bestätigung per Link – klein (Technik wie Passwort vergessen).
|
||||
3. OIDC-Login – mittel (Bibliothek `coreos/go-oidc` + `golang.org/x/oauth2`, neue Tabelle für verknüpfte Konten, Knopf auf der Anmeldeseite).
|
||||
1. Einladungslink (Link kopieren, per E-Mail einladen) und Mehrfach-Codes – klein bis mittel, sofort nützlich.
|
||||
2. Registrierungsmodus mit Freigabe und Endungen, Umgebungsvariablen, Admin-Liste „Wartet auf Freigabe“, E-Mails – mittel.
|
||||
3. E-Mail-Bestätigung per Link – klein (Technik wie Passwort vergessen).
|
||||
4. OIDC-Login – mittel (Bibliothek `coreos/go-oidc` + `golang.org/x/oauth2`, neue Tabelle für verknüpfte Konten, Knopf auf der Anmeldeseite).
|
||||
|
||||
## Offene Fragen
|
||||
|
||||
|
||||
Reference in new issue
Block a user