No description
Legge til argon2-cffi, pyotp, qrcode i requirements.txt Skrive migrasjon 012 (passord, 2FA, superadmin, org-invitasjoner) app/auth.py: sesjonsstadier, passord-hashing, TOTP-hjelpere app/routers/auth.py: passord-innlogging, 2FA-oppsett/verifisering app/email.py: 2FA-kode og invitasjons-maler app/routers/organizations.py: invitasjoner, medlemskapsstyring, superadmin-sti Frontend: login-form passord-modus + 2FA-skjermer Frontend: kontoinnstillinger + org-medlemsstyring-skjerm Ekte typesjekket frontend-build Scratch-verifisere hele auth-løpet grundig (backend) Deploy mot ekte teecup_db/containere + oppdatere .md-filer ADR-021 (passord/2FA) og ADR-022 (org-eierskap) er live. Kort oppsummert: Nytt i innloggingen: Passord (valgfritt tillegg til magic-link) — Argon2id, testet med ekte spesialtegn/mellomrom/æøå 2FA — TOTP eller e-post-engangskode, brukerens eget valg Påkrevd 2FA for org-eiere/administratorer, valgfritt for andre Ny /account-skjerm for å sette passord og styre 2FA Nytt for organisasjoner: Inviter andre på e-post til enhver rolle (eiere) eller kun medlem (administratorer) Frasi deg eierskap selv, eller fjern andre medlemmer — med vern mot at en organisasjon står igjen uten eier Superadmin-flagg (kun manuelt satt i databasen, aldri via API) som kan sette eierskap på hvilken som helst organisasjon Ny /orgs/[id]/members-skjerm, lenket fra dashbordet Fant og fikset tre reelle bugs underveis i scratch-testingen (ingen nådde produksjon) — en krasj i selve innloggingen og to tilfeller av en uendelig 2FA-løkke. Alt er nå verifisert grundig og rullet ut, eksisterende sesjoner er upåvirket. |
||
|---|---|---|
| .claude | ||
| __pycache__ | ||
| app | ||
| frontend | ||
| .dockerignore | ||
| .gitignore | ||
| 001_initial_schema.sql | ||
| 002_roles_and_grants.sql | ||
| 003_scoring_and_blinddraw.sql | ||
| 004_auth.sql | ||
| 005_rls_null_guard.sql | ||
| 006_scheduling_and_locale.sql | ||
| 007_registration_and_player_fields.sql | ||
| 008_link_player_by_email.sql | ||
| 009_landing_pages_and_visibility.sql | ||
| 010_official_course_unique_ref.sql | ||
| 011_join_code_and_leading_side.sql | ||
| 012_password_2fa_and_org_invitations.sql | ||
| ARCHITECTURE_DECISIONS.md | ||
| CLAUDE.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| FEATURE_BACKLOG.md | ||
| handicap_engine.py | ||
| TeeOff-logo-Retina-1.avif | ||
| test_handicap_engine.py | ||
| test_isolation.sql | ||