Document toolboxDocument toolbox

Authorization interface

Op pagina Authorization interface aanpassen en uitbreiden:

1a. De parameters in de authorization request worden als volgt gevuld:

scope

optioneel, met:

  • subscribe/ , of met
  • unsubscribe/

vervolgens verplicht, met:

  • de betreffende (één) Zorgaanbiedernaam, ontdaan van de suffix @medmij, gevolgd door
  • een tilde (~), gevolgd door
  • het GegevensdienstId van de betreffende (één) Gegevensdienst uit de Gegevensdienstnamen.

Het verplichte deel van de scope bestaat dus uit twee onderdelen, in een specifieke volgorde, gescheiden door een tilde. Er mag in de huidige versie van het MedMij Afsprakenstelsel slechts sprake zijn van één van elk. Bij interpretatie van de Zorgaanbiedernaam door de ontvanger zal deze de suffix @medmij weer moeten toevoegen.

In het eerste, optioneel gevulde, gedeelte van de scope kan worden aangegeven of de Zorggebruiker zich wil abonneren op notificaties (subscribe/) of dat de Zorggebruiker een Abonnement juist wenst te beëindigen (unsubscribe/).

Er worden geen andere scopes of onderdelen van scopes opgenomen dan de hier genoemde.

2a. Na ontvangst van een authorization request met een zekere client_id en een zekere GegevensdienstId in de scope, verifieert de Authorization Server dat deze GegevensdienstId voorkomt bij de betreffende client_id op de OAuth Client List. Zo niet, dan behandelt de Authorization Server dit als uitzondering 1b volgens verantwoordelijkheid 6.

2b. Na ontvangst van een authorization request met de aanduiding subscribe/ of unsubscribe/ in de scope, verifieert de Authorization Server dat de met Zorgaanbiedernaam en GegevensdienstId aangeduide Gegevensdienst de optie tot Abonneren ondersteunt. Ook verifieert de Authorization Server, middels de OAuth Client List, dat betreffende Uitgever voor deze Gegevensdienst een Notification Endpoint biedt. Indien één van deze verificaties faalt, dan behandelt de Authorization Server dit als uitzondering 1b volgens verantwoordelijkheid 6.

4. Onmiddellijk na authenticatie van de Zorggebruiker, zoals bedoeld in verantwoordelijkheid 3, en alleen als deze slaagt, vraagt de OAuth Authorization Server de Zorggebruiker om een Toestemmingsverklaring (in het geval van UCI Verzamelen), een Bevestigingsverklaring (in het geval van UCI Delen) , een Toestemmingsverklaring voor notificaties (in het geval van UCI Abonneren - aangaan van een Abonnement), of om een Bevestiging beëindiging Abonnement (in het geval van UCI Abonneren - beëindigen van een Abonnement) volgens het daaromtrent bepaalde op de pagina User interface (verklaringen), volgens de standaard OAuth 2.0, op de wijze waarop deze in het MedMij Afsprakenstelsel wordt toegepast.

6. Authorization Server en PGO Server handelen uitzonderingssituaties inzake het authorization interface af volgens onderstaande tabel.

NummerImplementeert uitzonderingenUitzonderingActieMeldingVervolg
Authorization interface 1a

UC Verzamelen 1

UC Delen 1

UC Abonneren 1

Authorization Server ontvangt een authorization request zonder (geldige) redirect_uri en/of zonder een (geldige) client_id.Authorization Server informeert PGO Presenter over deze uitzondering. Authorization Server voert geen redirect naar de Client uit, ook niet met een foutmelding.conform OAuth 2.0-specificatie, par. 4.1.2.1Allen stoppen de flow van de UCI Verzamelen/UCI Delen onmiddellijk na geïnformeerd te zijn over de uitzondering.


Authorization interface 1b

Authorization Server ontvangt een ongeldige authorization request, anders dan uitzondering 1a.Authorization Server informeert PGO Server over deze uitzondering. PGO Server informeert Zorggebruiker daarover.

conform OAuth 2.0-specificatie, par. 4.1.2.1, met de daar genoemde toepasselijke error code


Authorization interface 2

UC Verzamelen 2

UC Delen 2

UC Abonneren 2

Authorization Server kan de identiteit van de Zorggebruiker niet vaststellen.Authorization Server informeert PGO Server over deze uitzondering. PGO Server informeert Zorggebruiker dat diens verzoek geen voortgang kan vinden, maar laat de oorzaak daarvan helemaal in het midden.conform OAuth 2.0-specificatie, par. 4.1.2.1, error code access denied, met in de error description "Access denied."
Authorization interface 3

UC Verzamelen 3

UC Delen 3

UC Abonneren 3

Authorization Server stelt tijdens de afhandeling van de authorization request vast dat:

  • in geval van UCI Verzamelen: van Persoon bij Zorgaanbieder geen gezondheidsinformatie voor die Gegevensdienst beschikbaar is.
  • in geval van UCI Delen: Zorgaanbieder niet ontvankelijk is voor het gebruik van betreffende Gegevensdienst door Persoon.
  • in geval van UCI Abonneren: Zorgaanbieder niet ontvankelijk is voor een Abonnement van Persoon op betreffende Gegevensdienst.

Zie de toelichting op Beschikbaarheids- en ontvankelijkheidsvoorwaarde.

Authorization interface 4

UC Verzamelen 4

UC Delen 4

UC Abonneren 4

De autorisatievraag wordt ontkennend beantwoord.
Authorization interface 5

UC Verzamelen 5

UC Delen 5

UC Abonneren 5

Authorization Server kan de autorisatie niet vaststellen.Authorization Server informeert PGO Server over deze uitzondering. PGO Server informeert daarop Zorggebruiker hierover.conform OAuth 2.0-specificatie, par. 4.1.2.1, error code access denied, met in de error description "Authorization failed."