Autorisatie Server Interfaces (versie 0.6.20 - definitief)
Common Interfaces
AS Metadata Interface
AOF.AS-I.MTD.100.v1
De AS Metadata Interface is benaderbaar via publiek internet.
Metadata
AOF.AS-I.MTD.200.v1
De metadata van de autorisatieserver kan, conform RFC 8414, worden opgehaald op een well-known URL die kan worden geconstrueerd m.b.v. de <iss> claim uit het token (zie ook section-3.1 van RFC8414). Dit betekent dat bij een iss die gelijk is aan: https://FQDN/some-path-extension, de metadata kan worden verkregen bij: https://FQDN/.well-known/oauth-authorization-server/some-path-extension.
AOF.AS-I.MTD.300.v1
De Authorization Server Metadata Response bevat de volgende attributen:
issuer
;authorization_endpoint
;token_endpoint
;jwks_uri
;response_types_supported
;signed_metadata
.
De response die wordt geretourneerd bevat daarnaast de volgende headers:
Cache-Control: must-revalidate, max-age=<max-age-metadata>
Pragma: no-cache
Een client mag verkregen metadata conform de Cache-Control
header directives, zoals beschreven in RFC 7234, cachen.
De waarde van max-age-metadata
is configureerbaar in de autorisatie server. Initiële waarde is 14400 seconden (4 uur).
JWKS
AOF.AS-I.MTD.300.v1
De public key waarmee de digitale handtekening kan worden gecontroleerd wordt conform RFC 7517, als een JWK beschikbaar gesteld. De URL van waarop de JWK Set kan worden opgevraagd (jwks_uri
) maakt deel uit van de AS metadata response. Iedere JSON Web Key (JWK) in de set, die beschikbaar wordt gesteld op de jwks_uri
, bevat een kid
parameter. De juiste JWK in de JWK Set wordt gevonden o.b.v. de waarde van het kid
attribuut in de header van de ontvangen JWT.
De response die wordt geretourneerd na een HTTP GET op de jwks_uri
bevat naast de JWK Set de volgende headers:
Cache-Control: must-revalidate, max-age=<max-age-jwks>
Pragma: no-cache
Een client mag verkregen JWK's conform de Cache-Control
header directives, zoals beschreven in RFC 7234, cachen.
De waarde van max-age-jwks
is configureerbaar in de autorisatie server. Initiële waarde is 14400 seconden (4 uur).
De JWK bevat de volgende attributen, waar de definitie van de attributen kan worden gevonden in RFC 7517 en RFC 7518:
"kty":"RSA"
"alg":"RS256"
"use":"sig"
"kid":"<the identifier of the key-pair used to sign this JWT>"
"x5c":"<de van toepassing zijnde keten van PKIX certificaten>"
"n":"<the modulus value for the RSA public key>"
"e":"<the exponent value for the RSA public key>"
AORTA Token Interface
Middels deze interface kunnen AORTA access_tokens worden verkregen. De AORTA Token Interface is gebaseerd op OAuth token exchange (https://tools.ietf.org/html/rfc8693).
Token Exchange
AOF.AS-I.MTE.100.v1
De autorisatieserver biedt een koppelvlak dat is gebaseerd op OAuth token exchange (https://tools.ietf.org/html/rfc8693). Het AORTA Token Interface is slechts benaderbaar voor de resource server van LSP+.
De autorisatieserver ontvangt een token exchange request met de volgende attributen:
Parameter | Cardinaliteit | Toelichting |
grant_type | 1..1 | Vaste waarde "urn:ietf:params:oauth:grant-type:token-exchange" |
audience | 1..1 | Waarde is "<appID van LSP>, <appID van xIS-1>, <appID van xIS-2>", d.w.z. het appID van ieder te bevragen xIS van betreffende zorgaanbieder, die kan omgaan met het |
requested_token_type | 1..1 | Vaste waarde "urn:ietf:params:oauth:token-type:jwt". |
subject_token | 1..1 | Het ontvangen MedMij access_token. |
subject_token_type | 1..1 | Type aanduiding van het subject_token. Vaste waarde "urn:ietf:params:oauth:token-type:access_token". |
scope | 1..1 | De zorgaanbieder-gegevensdienst-combinatie uit de scope van het MedMij access_token, die moet worden gehanteerd bij het genereren van een AORTA access_token. Vanaf MedMij release 1.5.0 kan de scope van een MedMij access_token bestaan uit meerdere zorgaanbieder-gegevensdienst-combinaties. Een AORTA access_token dient echter altijd afgegeven te worden voor slechts één van deze combinaties. |
De autorisatieserver retourneert een token exchange response met de volgende attributen:
Parameter | Cardinaliteit | Toelichting |
access_token | 1..1 | Een JWT-based AORTA access_token. Er wordt één token uitgegeven met een audience element voor ieder te bevragen xIS van deze zorgaanbieder, die om kan gaan met het |
issued_token_type | 1..1 | Type aanduiding van de representatievorm van het uitgegeven access_token. Vaste waarde "urn:ietf:params:oauth:token-type:jwt". |
token_type | 1..1 | Vaste waarde "Bearer". |
expires_in | 1..1 | Geldigheid in seconden van het uitgegeven AORTA access_token, deze moet in overeenstemming zijn met de geldigheid van het ingewisselde MedMij access_token. |
scope | 1..1 | Scope van het uitgegeven AORTA access_token, dit moet een juiste vertaling zijn van de gegevensdienst uit de MedMij scope. |
authenticatie_token | 1..1 | De DigiD SAML-Assertion, die wordt gecodeerd met behulp van base64url, conform RFC 4648. |
client_id | 1..1 | Het ID van de PGO Server waaraan het MedMij access_token is uitgereikt. |
Te hanteren error responses zijn eveneens beschreven in RFC 8693.
AS-logging Interface
AOF.AS-I.ALI.100.v2
Logbestanden die nodig zijn voor de managementrapportages kunnen, conform gemaakte afspraken in het DAP, middels een API, via HTTPS (TLS) door VZVZ-beheer worden opgehaald. Technisch formaat van de logbestanden is JSON.
De logging kan desgewenst worden opgesplitst in meerdere JSON-bestanden. Ieder JSON-bestand heeft wel altijd betrekking op interacties die plaats hebben gevonden conform één specifieke MedMij-release. Op deze manier kan in de rapportages een beeld worden gecreëerd van het gebruik van een bepaalde MedMij-release in de tijd.
De volgende loggegevens moeten beschikbaar worden gesteld:
FHIR-v3 verkeer | FHIR-FHIR verkeer |
---|---|
Ontvangen authorization requests en de bijbehorende geretourneerde authorization responses of error responses
| |
Verzonden ZAB requests en de bijbehorende ontvangen ZAB responses of error responses
| Vooralsnog ook van toepassing bij FHIR-FHIR. |
Authenticatie gebruiker
| |
Verzonden artefact resolve berichten en de bijbehorende geretourneerde artefact responses of error responses
| |
Getoonde toestemmingspagina's en verleende of geweigerde toestemmingen
| |
Ontvangen access token requests en de bijbehorende geretourneerde access token responses of error responses
| |
Ontvangen introspection requests en de bijbehorende geretourneerde introspection responses of error responses
| N.v.t. |
N.v.t. | Ontvangen token exchange requests en de bijbehorende geretourneerde token exchange responses of error responses
|
HTTP-errors
| HTTP-errors
|
MedMij Interfaces
AOF.AS-I.MMI.100.v1
De autorisatieserver biedt een aantal MedMij interfaces. De autorisatieserver ondersteunt hierbij de volgende MedMij use cases:
- UC Verzamelen;
- UC Delen.
MedMij User Interface
AOF.AS-I.MMI.200.v1
Zie MedMij User Interface in het MedMij afsprakenstelsel.
MedMij Autorisatie Interface
AOF.AS-I.MMI.300.v1
De autorisatieserver biedt de Authorization interface, zoals gespecificeerd in de te ondersteunen releases van het MedMij afsprakenstelsel.
MedMij Token Interface
AOF.AS-I.MMI.400.v1
De autorisatieserver biedt het Token interface, zoals gespecificeerd in de te ondersteunen releases van het MedMij afsprakenstelsel.