Authorization interface
Op pagina Authorization interface aanpassen en uitbreiden:
1a. De parameters in de authorization request worden als volgt gevuld:
| optioneel, met:
vervolgens verplicht, met:
| 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 In het eerste, optioneel gevulde, gedeelte van de scope kan worden aangegeven of de Zorggebruiker zich wil abonneren op notificaties ( 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.
Nummer | Implementeert uitzonderingen | Uitzondering | Actie | Melding | Vervolg |
---|---|---|---|---|---|
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.1 | Allen stoppen de flow |
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:
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. " |