(MedMij Afsprakenstelsel 2.1.0B) Beheren toestemmingen
Business laag
Een Persoon moet een gegeven langdurige toestemming op elk moment kunnen intrekken bij de Dienstverlener aanbieder.
Hieronder staat flow behorende bij het intrekken van de langdurige toestemming.
Het intrekken van de langdurige toestemming kent de volgende stappen:
- De Persoon selecteert in zijn PGO de Aanbieder bij wie hij de toestemming wil intrekken.
- De Dienstverlener Persoon stuurt het verzoek voor intrekken toestemming naar de Dienstverlener aanbieder.
- De Dienstverlener aanbieder presenteert de landingspagina
- De Dienstverlener aanbieder laat de Persoon zich authenticeren bij de Dienstverlener authenticatie.
- Nadat de Persoon geauthenticeerd is, toont de Dienstverlener Aanbieder een Toestemmingsoverzichtspagina met alle toestemmingen aan Aanbieders per Dienstverlener Persoon.
- De Persoon selecteert de toestemming die hij wil intrekken.
- De Dienstverlener aanbieder vraagt aan de Persoon of hij de toestemming voor het verstrekken van gegevens aan een Dienstverlener persoon wil intrekken. Deze vraag staat op de pagina Beëindigingsverklaring Toestemming.Â
- De Persoon bevestigt het intrekken. Indien hij voor annuleren kiest, komt de Persoon terug op de Toestemmingsoverzichtspagina.
- De Dienstverlener aanbieder logt het intrekken van de toestemming en trekt het refresh-token in en toont opnieuw de Toestemmingsoverzicht pagina aan de Persoon.
- De Persoon kan kiezen om terug te gaan naar zijn PGO of kan nog een toestemming selecteren om in te trekken.
Applicatielaag
In elke voltrekking van de in het diagram beschreven flow is steeds sprake van één van elk van de bovenaan genoemde rollen.
De flow kent de volgende stappen:
- De User Agent vraag de Persoon een Aanbieder te selecteren.
- De Persoon selecteert een Aanbieder bij wie hij de toestemming wil intrekken.
- De User Agent stuurt een verzoek tot intrekken van de toestemming naar de Authorization Server. Het verzoek intrekken toestemming moet voldoen aan dezelfde eisen als het authorization request.
De Dienstverlener aanbieder toont de landingspagina aan de Persoon waar de Persoon kan kiezen voor de optie Toestemmingen aanpassen.
- Daarop begint de Authorization Server de OAuth-flow (in zijn rol als OAuth Authorization Server) door een sessie te creëren.
- Dan start de Authorization Server (nu in de rol van Authentication Client) de authenticatieflow.
- Na de authenticatieflow valideert de Authorization Server de identificerende gegevens.
- De Authorization Server presenteert via de User Agent aan Persoon in een Toestemmingsoverzicht de aanwezige toestemmingen en vraagt de toestemming te selecteren die hij wil intrekken.
- De User Agent stuurt het verzoek tot intrekken van desbetreffende toestemming naar de Authorization Server.
- De Authorization Server presenteert via de User Agent aan Persoon de Beëindigingsverklaring Toestemming.
- Bij bevestiging door de Persoon logt de Authorization Server het intrekken van de toestemming en trekt het refresh-token in.
- De Authorization Server presenteert via de User Agent aan Persoon het Toestemmingsoverzicht. Hier kan de Persoon kiezen om nog een toestemming in te trekken of om terug te gaan naar zijn Dienstverlener Persoon.