[KTO-01] Registrieren, anmelden und Passwort zurücksetzen #1

Closed
opened 2026-11-02 13:38:55 +00:00 by cschlaefke · 4 comments
Owner

Story

Als Brettspieler ohne Konto
möchte ich mich mit E-Mail und Passwort registrieren, anmelden und mein Passwort zurücksetzen können,
damit meine Sammlung und Partien sicher an mein Konto gebunden sind.

Akzeptanzkriterien

Quelle: requirements/20-r1-akzeptanzkriterien.md § KTO-01 (Referenz in Tests/PR: „KTO-01 Kriterium n“), Stand 2026-11-02 inkl. Klärungen und N2

  • 1. Gegeben ich habe kein Konto, wenn ich E-Mail-Adresse, Passwort und Anzeigenamen eingebe und bestätige, dass ich mindestens 16 Jahre alt bin, dann wird ein Konto angelegt und ich erhalte eine E-Mail zur Bestätigung.
  • 2. Gegeben ich bestätige das Mindestalter nicht, wenn ich mich registrieren will, dann wird die Registrierung abgelehnt und ich sehe den Grund.
  • 3. Gegeben das Passwort hat weniger als 10 Zeichen oder steht auf einer Liste häufiger Passwörter, wenn ich es eingebe, dann erklärt mir die App am Feld, was fehlt.
  • 4. Gegeben die E-Mail-Adresse ist schon registriert, wenn ich mich damit registriere, dann erfahre ich nicht, ob ein Konto existiert, und es entsteht kein zweites Konto.
  • 5. Gegeben ein bestätigtes Konto, wenn ich die richtigen Zugangsdaten eingebe, dann bin ich angemeldet und bleibe es auf diesem Gerät, bis ich mich abmelde.
  • 6. Gegeben ein unbestätigtes Konto, wenn ich mich anmelde, dann werde ich auf die ausstehende Bestätigung hingewiesen und kann die E-Mail erneut senden lassen.
  • 7. Gegeben falsche Zugangsdaten, wenn ich mich anmelde, dann sehe ich eine allgemeine Fehlermeldung, die nicht verrät, ob E-Mail oder Passwort falsch war; nach mehreren Fehlversuchen wird der Zugang zeitweise gebremst. Anzahl der Versuche und Dauer der Bremse folgen den Standards der Supabase-Auth-Konfiguration (self-hosted); die Werte sind im Repo dokumentiert und in den Tests referenziert (Klärung 18).
  • 8. Gegeben ich habe das Passwort vergessen, wenn ich das Zurücksetzen anfordere, dann erhalte ich einen zeitlich begrenzten Link, mit dem ich ein neues Passwort setze; der Link funktioniert nur einmal. Die Gültigkeit von Reset- und Bestätigungslink folgt der Supabase-Auth-Konfiguration und ist im Repo dokumentiert (Klärung 18).
  • 9. Gegeben ich habe das Passwort zurückgesetzt, dann bin ich auf allen anderen Geräten abgemeldet.
  • 10. (neu) Gegeben ich registriere mich, wenn der Anzeigename leer ist oder länger als 30 Zeichen, dann kann ich mich nicht registrieren und sehe den Fehler am Feld; es gelten dieselben Regeln wie in KTO-02 Kriterium 1 (Klärung 22).
  • 11. (neu) Gegeben Shuffle sendet mir eine E-Mail zur Bestätigung oder zum Zurücksetzen des Passworts, dann ist sie in der Sprache meines Profils; andere E-Mails verschickt Shuffle in R1 nicht, außer Bestätigungslink und Info-Mail beim Wechsel der E-Mail-Adresse (KTO-11 Kriterium 4) (Klärung 45, N2).

Querschnitt

Es gelten alle Querschnittskriterien aus 20-r1-akzeptanzkriterien.md § „Querschnitt für R1“ (Datenschutz QUE-04, Sicherheit der Daten, Sprachen QUE-05, Barrierefreiheit QUE-06, Zustände/Fehler/Netz, Plattformen).
Besonders relevant: Datenschutz Kriterium 1 (Zustimmung zu Datenschutzerklärung und Nutzungsbedingungen vor der Registrierung), Datenschutz Kriterien 2 und 4 (nur anonyme Reichweitenmessung ohne Einwilligung), Sicherheit der Daten Kriterium 2. Sprache der Profilangabe bei Registrierung: KTO-11 (#28) Kriterium 11.

Nicht im Scope

  • Apple-/Google-Login (Entscheidung O1)
  • Zwei-Faktor-Authentifizierung
  • Abmelden aller anderen Geräte außer nach Passwort-Reset – nach Passwort- oder E-Mail-Wechsel regelt das KTO-11 (#28, N1)
  • Abmelden sowie E-Mail-Adresse und Passwort ändern – gehört zu KTO-11 Einstellungsbereich (#28, Klärung 22)

Klärungen

Verbindlich laut requirements/r1-klaerungen.md (2026-11-02):

  • 18: Drosselung und Gültigkeit von Reset- und Bestätigungslink nach Supabase-Auth-Standards (self-hosted Config); Werte im Repo dokumentieren und in Tests referenzieren → Kriterien 7, 8.
  • 21/47: Datenschutzerklärung und Nutzungsbedingungen liefert Chris vor dem Release; Selbstbestätigung „mindestens 16“ reicht bis zur rechtlichen Prüfung; nur anonyme, cookielose Reichweitenmessung ohne Einwilligung. Rechtliche Prüfung vor Release nötig.
  • 22: Anzeigename bei Registrierung mit denselben Regeln wie KTO-02 (1–30 Zeichen) → Kriterium 10. Abmelden, E-Mail/Passwort ändern → KTO-11 (#28).
  • 45: E-Mails nur für Bestätigung und Passwort-Reset (Supabase-Systemmails) in der Sprache des Profils → Kriterium 11.
  • N2: Beim E-Mail-Wechsel (KTO-11) gehen zusätzlich ein Bestätigungslink an die neue und eine Info-Mail an die alte Adresse → Ausnahme in Kriterium 11.

Planung

  • Epic: KTO Konto & Profil
  • Priorität: Must
  • Größe: XL
  • Etappe: R1.1 Fundament
  • Abhängigkeiten: keine (Fundament)

Mögliche Schnitte für die Spec

  • KTO-01a Registrierung inkl. Alters- und Einwilligungsbestätigung, Anzeigename, E-Mail-Bestätigung (Kriterien 1–4, 6, 10, 11)
  • KTO-01b Anmelden mit Drosselung (Kriterien 5, 7)
  • KTO-01c Passwort zurücksetzen (Kriterien 8–9, 11)

Referenzen

  • Akzeptanzkriterien: requirements/20-r1-akzeptanzkriterien.md#kto-01-registrieren-anmelden-und-passwort-zurücksetzen
  • Klärungen: requirements/r1-klaerungen.md (inkl. N2)
  • Story-Entwurf: requirements/r1-story-entwurf.md (freigegeben 2026-11-02)
  • Backlog: requirements/backlog.md
## Story **Als** Brettspieler ohne Konto **möchte ich** mich mit E-Mail und Passwort registrieren, anmelden und mein Passwort zurücksetzen können, **damit** meine Sammlung und Partien sicher an mein Konto gebunden sind. ## Akzeptanzkriterien Quelle: `requirements/20-r1-akzeptanzkriterien.md` § KTO-01 (Referenz in Tests/PR: „KTO-01 Kriterium n“), Stand 2026-11-02 inkl. Klärungen und N2 - [ ] **1.** Gegeben ich habe kein Konto, wenn ich E-Mail-Adresse, Passwort und Anzeigenamen eingebe und bestätige, dass ich mindestens 16 Jahre alt bin, dann wird ein Konto angelegt und ich erhalte eine E-Mail zur Bestätigung. - [ ] **2.** Gegeben ich bestätige das Mindestalter nicht, wenn ich mich registrieren will, dann wird die Registrierung abgelehnt und ich sehe den Grund. - [ ] **3.** Gegeben das Passwort hat weniger als 10 Zeichen oder steht auf einer Liste häufiger Passwörter, wenn ich es eingebe, dann erklärt mir die App am Feld, was fehlt. - [ ] **4.** Gegeben die E-Mail-Adresse ist schon registriert, wenn ich mich damit registriere, dann erfahre ich nicht, ob ein Konto existiert, und es entsteht kein zweites Konto. - [ ] **5.** Gegeben ein bestätigtes Konto, wenn ich die richtigen Zugangsdaten eingebe, dann bin ich angemeldet und bleibe es auf diesem Gerät, bis ich mich abmelde. - [ ] **6.** Gegeben ein unbestätigtes Konto, wenn ich mich anmelde, dann werde ich auf die ausstehende Bestätigung hingewiesen und kann die E-Mail erneut senden lassen. - [ ] **7.** Gegeben falsche Zugangsdaten, wenn ich mich anmelde, dann sehe ich eine allgemeine Fehlermeldung, die nicht verrät, ob E-Mail oder Passwort falsch war; nach mehreren Fehlversuchen wird der Zugang zeitweise gebremst. Anzahl der Versuche und Dauer der Bremse folgen den Standards der Supabase-Auth-Konfiguration (self-hosted); die Werte sind im Repo dokumentiert und in den Tests referenziert (Klärung 18). - [ ] **8.** Gegeben ich habe das Passwort vergessen, wenn ich das Zurücksetzen anfordere, dann erhalte ich einen zeitlich begrenzten Link, mit dem ich ein neues Passwort setze; der Link funktioniert nur einmal. Die Gültigkeit von Reset- und Bestätigungslink folgt der Supabase-Auth-Konfiguration und ist im Repo dokumentiert (Klärung 18). - [ ] **9.** Gegeben ich habe das Passwort zurückgesetzt, dann bin ich auf allen anderen Geräten abgemeldet. - [ ] **10.** *(neu)* Gegeben ich registriere mich, wenn der Anzeigename leer ist oder länger als 30 Zeichen, dann kann ich mich nicht registrieren und sehe den Fehler am Feld; es gelten dieselben Regeln wie in KTO-02 Kriterium 1 (Klärung 22). - [ ] **11.** *(neu)* Gegeben Shuffle sendet mir eine E-Mail zur Bestätigung oder zum Zurücksetzen des Passworts, dann ist sie in der Sprache meines Profils; andere E-Mails verschickt Shuffle in R1 nicht, außer Bestätigungslink und Info-Mail beim Wechsel der E-Mail-Adresse (KTO-11 Kriterium 4) (Klärung 45, N2). ## Querschnitt Es gelten alle Querschnittskriterien aus `20-r1-akzeptanzkriterien.md` § „Querschnitt für R1“ (Datenschutz QUE-04, Sicherheit der Daten, Sprachen QUE-05, Barrierefreiheit QUE-06, Zustände/Fehler/Netz, Plattformen). Besonders relevant: **Datenschutz Kriterium 1** (Zustimmung zu Datenschutzerklärung und Nutzungsbedingungen vor der Registrierung), Datenschutz Kriterien 2 und 4 (nur anonyme Reichweitenmessung ohne Einwilligung), Sicherheit der Daten Kriterium 2. Sprache der Profilangabe bei Registrierung: KTO-11 (#28) Kriterium 11. ## Nicht im Scope - Apple-/Google-Login (Entscheidung O1) - Zwei-Faktor-Authentifizierung - Abmelden aller anderen Geräte außer nach Passwort-Reset – nach Passwort- oder E-Mail-Wechsel regelt das KTO-11 (#28, N1) - Abmelden sowie E-Mail-Adresse und Passwort ändern – gehört zu KTO-11 Einstellungsbereich (#28, Klärung 22) ## Klärungen Verbindlich laut `requirements/r1-klaerungen.md` (2026-11-02): - **18:** Drosselung und Gültigkeit von Reset- und Bestätigungslink nach Supabase-Auth-Standards (self-hosted Config); Werte im Repo dokumentieren und in Tests referenzieren → Kriterien 7, 8. - **21/47:** Datenschutzerklärung und Nutzungsbedingungen liefert Chris vor dem Release; Selbstbestätigung „mindestens 16“ reicht bis zur rechtlichen Prüfung; nur anonyme, cookielose Reichweitenmessung ohne Einwilligung. **Rechtliche Prüfung vor Release nötig.** - **22:** Anzeigename bei Registrierung mit denselben Regeln wie KTO-02 (1–30 Zeichen) → Kriterium 10. Abmelden, E-Mail/Passwort ändern → KTO-11 (#28). - **45:** E-Mails nur für Bestätigung und Passwort-Reset (Supabase-Systemmails) in der Sprache des Profils → Kriterium 11. - **N2:** Beim E-Mail-Wechsel (KTO-11) gehen zusätzlich ein Bestätigungslink an die neue und eine Info-Mail an die alte Adresse → Ausnahme in Kriterium 11. ## Planung - Epic: KTO Konto & Profil - Priorität: Must - Größe: XL - Etappe: R1.1 Fundament - Abhängigkeiten: keine (Fundament) ## Mögliche Schnitte für die Spec - KTO-01a Registrierung inkl. Alters- und Einwilligungsbestätigung, Anzeigename, E-Mail-Bestätigung (Kriterien 1–4, 6, 10, 11) - KTO-01b Anmelden mit Drosselung (Kriterien 5, 7) - KTO-01c Passwort zurücksetzen (Kriterien 8–9, 11) ## Referenzen - Akzeptanzkriterien: `requirements/20-r1-akzeptanzkriterien.md#kto-01-registrieren-anmelden-und-passwort-zurücksetzen` - Klärungen: `requirements/r1-klaerungen.md` (inkl. N2) - Story-Entwurf: `requirements/r1-story-entwurf.md` (freigegeben 2026-11-02) - Backlog: `requirements/backlog.md`
cschlaefke added the
type/story
prio/must
needs-clarification
epic/konto
size/xl
labels 2026-11-02 13:38:55 +00:00
cschlaefke added a new dependency 2026-11-02 13:43:05 +00:00
cschlaefke added a new dependency 2026-11-02 13:43:06 +00:00
cschlaefke added a new dependency 2026-11-02 13:43:10 +00:00
cschlaefke added a new dependency 2026-11-02 13:43:11 +00:00
cschlaefke added a new dependency 2026-11-02 13:43:20 +00:00
cschlaefke added a new dependency 2026-11-02 13:43:23 +00:00
cschlaefke added a new dependency 2026-11-02 13:43:25 +00:00
cschlaefke added a new dependency 2026-11-02 13:43:41 +00:00
cschlaefke added a new dependency 2026-11-02 13:43:42 +00:00
Author
Owner

Offene fachliche Fragen aus requirements/r1-story-entwurf.md, Abschnitt 5 (Nummerierung wie im Entwurf). Bitte hier beantworten; nach Klärung wird needs-clarification entfernt.

Frage 18: KTO-01 Krit. 7: Ab wie vielen Fehlversuchen und für wie lange wird gebremst? Krit. 8: Gültigkeit des Reset-Links? Gilt auch für den Bestätigungslink aus Krit. 1 eine Frist?

Frage 21: KTO-01 / QUE-04: Liegen Datenschutzerklärung und Nutzungsbedingungen (inkl. Löschfrist) vor, und gibt es einen Termin für die rechtliche Prüfung des Mindestalters 16 (F8)? Gibt es in R1 überhaupt optionale Dienste wie Nutzungsanalyse (QUE-04 Krit. 2)?

Frage 22: KTO-01: Gelten für den Anzeigenamen bei der Registrierung dieselben Regeln wie in KTO-02 (1–30 Zeichen)? Gibt es eine eigene Story für Abmelden und E-Mail-Adresse/Passwort ändern (bei angemeldetem Nutzer)? Aktuell nicht gefordert.

Frage 45 (Querschnitt Benachrichtigungen): E-Mails in R1 (Bestätigung, Reset, Export fertig, ggf. Meldungsergebnis) – reichen Systemmails, Sprache der Mails nach Profil-locale?

Frage 47 (Querschnitt Jugendschutz): Reicht für R1 die Selbstbestätigung „mindestens 16“ ohne weitere Prüfung (Datenmodell sagt ja, F8 nennt eine rechtliche Prüfung vor dem Start)?

**Offene fachliche Fragen** aus `requirements/r1-story-entwurf.md`, Abschnitt 5 (Nummerierung wie im Entwurf). Bitte hier beantworten; nach Klärung wird `needs-clarification` entfernt. **Frage 18:** KTO-01 Krit. 7: Ab wie vielen Fehlversuchen und für wie lange wird gebremst? Krit. 8: Gültigkeit des Reset-Links? Gilt auch für den Bestätigungslink aus Krit. 1 eine Frist? **Frage 21:** KTO-01 / QUE-04: Liegen Datenschutzerklärung und Nutzungsbedingungen (inkl. Löschfrist) vor, und gibt es einen Termin für die rechtliche Prüfung des Mindestalters 16 (F8)? Gibt es in R1 überhaupt optionale Dienste wie Nutzungsanalyse (QUE-04 Krit. 2)? **Frage 22:** KTO-01: Gelten für den Anzeigenamen bei der Registrierung dieselben Regeln wie in KTO-02 (1–30 Zeichen)? Gibt es eine eigene Story für Abmelden und E-Mail-Adresse/Passwort ändern (bei angemeldetem Nutzer)? Aktuell nicht gefordert. **Frage 45 (Querschnitt Benachrichtigungen):** E-Mails in R1 (Bestätigung, Reset, Export fertig, ggf. Meldungsergebnis) – reichen Systemmails, Sprache der Mails nach Profil-`locale`? **Frage 47 (Querschnitt Jugendschutz):** Reicht für R1 die Selbstbestätigung „mindestens 16“ ohne weitere Prüfung (Datenmodell sagt ja, F8 nennt eine rechtliche Prüfung vor dem Start)?
cschlaefke added this to the R1 milestone 2026-11-02 13:53:34 +00:00
cschlaefke added a new dependency 2026-11-02 14:29:05 +00:00
Author
Owner

Klärungen eingearbeitet (2026-11-02): Fragen 18, 21/47, 22, 45 laut requirements/r1-klaerungen.md. Kriterien 7 und 8 konkretisiert (Supabase-Auth-Standards, Werte im Repo dokumentieren), neu Kriterium 10 (Anzeigename 1–30 Zeichen) und 11 (Systemmails in Profilsprache). Abmelden sowie E-Mail/Passwort ändern → KTO-11 (#28). Rechtliche Prüfung vor Release bleibt Aufgabe von Chris. Keine offenen Fragen mehr, needs-clarification entfernt.

Klärungen eingearbeitet (2026-11-02): Fragen 18, 21/47, 22, 45 laut `requirements/r1-klaerungen.md`. Kriterien 7 und 8 konkretisiert (Supabase-Auth-Standards, Werte im Repo dokumentieren), neu Kriterium 10 (Anzeigename 1–30 Zeichen) und 11 (Systemmails in Profilsprache). Abmelden sowie E-Mail/Passwort ändern → KTO-11 (#28). Rechtliche Prüfung vor Release bleibt Aufgabe von Chris. Keine offenen Fragen mehr, `needs-clarification` entfernt.
cschlaefke removed the
needs-clarification
label 2026-11-02 14:30:32 +00:00
Author
Owner

Klärungen N2 eingearbeitet (2026-11-02)

  • N2 → Kriterium 11 ergänzt: Neben Bestätigungs- und Reset-Mail verschickt Shuffle beim Wechsel der E-Mail-Adresse (KTO-11 #28 Kriterium 4) einen Bestätigungslink an die neue und eine Info-Mail an die alte Adresse. Bisher widersprach Kriterium 11 („andere E-Mails verschickt Shuffle nicht“) dem E-Mail-Wechsel.
  • „Nicht im Scope“: Abmelden anderer Geräte nach Passwort-/E-Mail-Wechsel verweist auf KTO-11 (N1).
  • Hinweis: Die Sprache des Profils bei der Registrierung regelt KTO-11 Kriterium 11 (aus N3 abgeleitet, bitte bestätigen).

Quelle: requirements/r1-klaerungen.md, Abschnitt „Neue Fragen aus dem Einarbeiten (N1–N14)“.

Klärungen N2 eingearbeitet (2026-11-02) - **N2** → Kriterium 11 ergänzt: Neben Bestätigungs- und Reset-Mail verschickt Shuffle beim Wechsel der E-Mail-Adresse (KTO-11 #28 Kriterium 4) einen Bestätigungslink an die neue und eine Info-Mail an die alte Adresse. Bisher widersprach Kriterium 11 („andere E-Mails verschickt Shuffle nicht“) dem E-Mail-Wechsel. - „Nicht im Scope“: Abmelden anderer Geräte nach Passwort-/E-Mail-Wechsel verweist auf KTO-11 (N1). - Hinweis: Die Sprache des Profils bei der Registrierung regelt KTO-11 Kriterium 11 (aus N3 abgeleitet, bitte bestätigen). Quelle: `requirements/r1-klaerungen.md`, Abschnitt „Neue Fragen aus dem Einarbeiten (N1–N14)“.
cschlaefke added the
status/spec-review
label 2026-11-02 19:10:10 +00:00
Author
Owner

Spec für KTO-01 liegt auf dem Branch feature/1-auth-registrierung-anmeldung: docs/specs/1-auth-registrierung-anmeldung.md

Status: von Chris freigegeben (2026-11-02). Offene Fragen F1–F10 entschieden (F7 SMTP-Anbieter vertagt, blockiert nur das Release).

Schnitt: Backend-PR, dann 01a Registrierung, 01b Anmelden, 01c Passwort zurücksetzen. Das Flutter-Gerüst läuft als eigenes Fundament-Issue #31, von dem dieses Issue abhängt.

Spec für KTO-01 liegt auf dem Branch `feature/1-auth-registrierung-anmeldung`: [docs/specs/1-auth-registrierung-anmeldung.md](https://git.cshomelabs.work/cschlaefke/Shuffle/src/branch/feature/1-auth-registrierung-anmeldung/docs/specs/1-auth-registrierung-anmeldung.md) Status: **von Chris freigegeben** (2026-11-02). Offene Fragen F1–F10 entschieden (F7 SMTP-Anbieter vertagt, blockiert nur das Release). Schnitt: Backend-PR, dann 01a Registrierung, 01b Anmelden, 01c Passwort zurücksetzen. Das Flutter-Gerüst läuft als eigenes Fundament-Issue #31, von dem dieses Issue abhängt.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference: cschlaefke/Shuffle#1
No description provided.