OciServe-certificaten: toon 'Mijn certificaten' en bewaar de PDF #2426
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#2426
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 ziet de certificaten die hij heeft gekregen, kan ze als PDF bewaren en kan ze laten controleren. Nu heeft OciDeck geen enkel certificaatscherm (nul treffers op
certificates).Contract (OciServe
560f1ba)GET /organizations/{org}/participants/{pid}/certificates→CertificateList {certificates:[{id, participant_id, title, description, certificate_number, status (issued|revoked), issued_at, created_at}]}. De gekoppelde deelnemer metcontent:viewmag zijn eigen lijst lezen.GET …/certificates/{certificate_id}/pdf→ de PDF (binair); dezelfde toegangsregel.participant_idhaalt OciDeck nu uitGET me/privacy-data; brenno/OciServe#660 stelt voor het aan het lidmaatschap inGET /metoe te voegen.POST /api/v1/public/certificates/verify{certificate_number, verification_secret}; waar dat woont beslist brenno/OciServe#660. OciDeck hoeft niets te verifiëren, alleen de PDF te kunnen tonen.Gevraagd
file_pickersaveFile) en bekijken in de bestaande PDF-viewer (lib/widgets/reader/pdf_evidence_viewer.dart). De PDF bevat het verificatiegeheim: geen kopieer- of deelknop in de app zelf, geen caching buiten de bewuste opslagplek, geen logregel met de inhoud.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
revokedis duidelijk.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#660. Keiko uitgeven: brenno/Keiko#394. 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.