Zorgaanbiederauthenticatie en -autorisatie
0.1.0 - prototype
Publish Box goes here
Deze checklist vertaalt de profielregels naar observeerbaar gedrag. Een vinkje betekent pas iets als de implementatie zowel het succespad als de veilige afwijzing kan aantonen.
Verificatiecriterium: een onbekende organisatie, afwijkend endpoint, onbetrouwbare JWKS of ongeldige TLS-peer stopt vóór gebruik van token of resource.
private_key_jwt met iss == sub == URA-A,
exacte issuer-aud, geldigheid en unieke jti.client_assertion_type.authorization_details-parameter.resource, RAR-location en doelorganisatie aan de vertrouwde
registratie.Verificatiecriterium: requestinspectie toont de juiste parameters en gesanitiseerde headers; foutinjectie voor assertion, RAR, certificaat of DPoP levert geen access token op.
cnf.jkt.cnf.jkt, maar een verse resourceproof.jti en ath op in de resourceproof.Authorization: DPoP, DPoP-proofheader en mTLS.Verificatiecriterium: ontbrekende claims, verlopen token, verkeerde key, afwijkende URI, replay en Bearer-downgrade stoppen vóór of bij de resource server.
iss, sub, aud, tijd en replay.Verificatiecriterium: iedere mislukte clientcontrole resulteert in een veilige OAuth-fout zonder token of secretinhoud.
resource en authorization_details.aud, clientclaims, tijd, jti en cnf.jkt op.Verificatiecriterium: een token wordt uitsluitend uitgegeven wanneer alle client-, autorisatie- en DPoP-controles slagen; de claims tonen de geaccepteerde uitkomst.
Authorization: DPoP en een DPoP-proofheader.cnf.jkt.htm, htu, iat, jti, ath en replay.Verificatiecriterium: een ongeldige of ontbrekende authenticatie levert een
HTTP 401 met een passende WWW-Authenticate: DPoP-challenge; onvoldoende
autorisatie levert HTTP 403. Beide bevatten een veilige OperationOutcome.
Een succesvolle request levert alleen de geautoriseerde resource.
Verificatiecriterium: logs en audit ondersteunen reconstructie van de beslissing zonder herbruikbaar authenticatiemateriaal te bevatten.
Vervang vóór productie:
Leg tevens sleutelrotatie, crypto-agility, rate limiting, monitoring, incidentrespons, privacybeleid, consent, behandelrelatie en operationele certificaatrevocatie vast.
Backend, cryptografie en echte mTLS:
GRADLE_USER_HOME=$PWD/.gradle ./gradlew clean test build --no-daemon
Workbench:
cd ui
npm ci
npm run test:run
npm run typecheck
npm run build
IG:
cd ig
npm ci
./_genonce.sh
Alleen daadwerkelijk uitgevoerde tests gelden als bewijs. De referentie-implementatie koppelt de profielstappen aan code en workbench. Zij is geen certificering van landelijke conformiteit.