OciServe-aanmelding: uitnodiging accepteren en (waar het beleid dat toestaat) zelf registreren vanuit OciDeck #2425
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
release-blocker
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#2425
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Wat wil je bereiken
Een cursist die door een organisatie is uitgenodigd kan zich in OciDeck registreren en meteen beginnen, zonder een beheerdersapp. Nu verwijst de uitnodiging naar Keiko.
Wat mist er nu (origin/main
5802e9360)POST /api/v1/invitation-registration-preview,POST /api/v1/invitation-registrations,POST /api/v1/invitation-acceptances. De "Uitnodiging openen…" op het welkomstscherm (welcome_screen.dart:403) gaat over Managed Intake-formulieren, niet over een account.internal/api/handler.go:3997). Een deelnemer die alleen OciDeck gebruikt, moet dus Keiko installeren. Server-kant: brenno/OciServe#661.self-registeren het registratiebeleid hebben ook geen OciDeck-kant (POST /organizations/{org}/self-register).Contract (OciServe
560f1ba)POST /api/v1/invitation-registration-preview(publiek, rate-limited) body{invitation_id (uuid), secret}→ 200{invited_email}; alle fouten zijn één generieke 400 (geen enumeratie), 429 bij te veel pogingen.POST /api/v1/invitation-registrations(publiek,Idempotency-Keyverplicht) body{invitation_id, secret, display_name, password (min 12, max 1024)}. Het wachtwoord gaat rechtstreeks naar de identiteitsprovider en wordt nergens bewaard of gelogd; herhaling met dezelfde sleutel is veilig.login_hintenprompt=login, zodat een nog actieve sessie van de uitnodiger niet wordt hergebruikt (zoals Keiko,docs/INVITATIONS.mdin OciServe).lib/services/ociserve/ociserve_auth.dartstuurt nu alleenacr_valuesenmax_age(uit de step-up, regel 105-106);login_hintenprompt=loginmoeten erbij.POST /api/v1/invitation-acceptances(aangemeld).Gevraagd
Toets op de kernwaarden
Alleen actief voor wie bewust met een OciServe is verbonden (ongewijzigd); zonder server blijft OciDeck volledig lokaal werken. Geen telemetrie, geen wijziging van het bestandsformaat, geen nieuwe verplichte afhankelijkheid. De route staat al in de gepinde speckopie (
test/fixtures/ociserve_openapi.yaml, OciServe45d9a87), dus de pin hoeft niet omhoog; registreer de nieuwe aanroepen wel intest/ociserve_api_drift_test.dart(de contractpoort, #2042).Acceptatiecriteria
Acceptatiecriteria (algemeen)
l10n.d('…')-teksten viamake add-l10n(31 talen).make checkgroen;docs/USER_GUIDE.md,docs/SOURCE_MAP.mdenCHANGELOG.mdbijgewerkt.Gerelateerd
Server: brenno/OciServe#661. Keiko: brenno/Keiko#395 (beleid instellen). Overzicht: brenno/OciServe#659.
Keten-audit van 2026-10-14, getoetst aan OciServe
560f1ba, Keiko093f679en OciDeck5802e9360. Overzicht: brenno/OciServe#659.Gemerged in #2444 (merge-commit
5446218c72). Na het samenvoegen met main is de per-bestand-dekking van de nieuwe provider-, dialoog- en bewijslagen met tests aangevuld; make check, check-secrets en sast zijn groen. #2424 was al gedekt door me/exam-results.