03 - Innbygger innlogging - Helsenorge som OpenID Connect provider

Brukerhistorier som støttes

Det er flere situasjoner der det ønskes "sømløs" integrasjon for innbygger mellom et eksternt system/applikasjon og Helsenorge. Helsenorge sikkerhetstjeneste har derfor et OpenID Connect endepunkt der Helsenorge gir det eksterne systemet informasjon om innlogget innbygger. Denne tjenesten understøtter to Usecase:

  1. En innbygger som allerede er innlogget på Helsenorge kan gå over fra Helsenorge til eksternt system ved å velge en funksjon på Helsenorge som involverer det eksterne systemet (“uthopp”).

    1. Når innbygger “kommer til” det eksterne systemet, kontakter dette Helsenorge OpenID Connect provider for å få informasjon om (allerede) innlogget innbygger

    2. Gjennom OpenID Connect flyten gir Helsenorge sikkerhetstjeneste det eksterne systemet informasjon om innlogget innbygger og eventuell relasjon mellom innlogget innbygger og pasient som representeres (foreldre, fullmakt, vergemål). Videre gis det et AksessToken som siden kan benyttes dersom det eksterne systemet skal benytter API’er på Helsenorge

  2. En innbygger starter med å skulle logge seg inn i et eksternt system (eller APP). Dette systemet har valgt å benytter Helsenorge OpenID Connect provider. Systemet må ha etablert en integrasjon med Helsenorge for andre digitale helsetjenester utover innlogging.

    1. Det eksterne systemet, kontakter Helsenorge OpenID Connect provider for å logge innbygger inn på Helsenorge.

    2. Dersom innbygger ikke allerede er innlogget, vil innbygger måtte logge seg inn (via ID-porten).

    3. Dersom innbygger ikke allerede er Helsenorge bruker, vil innbygger måtte akseptere bruksvilkårene for Helsenorge.

    4. Etter at innbygger er logget inn, vil det eksterne systemet gjennom OpenID Connect flyten få informasjon om innlogget innbygger og eventuell relasjon mellom innlogget innbygger og pasient som representeres (foreldre, fullmakt, vergemål). Videre gis det et AksessToken som siden kan benyttes dersom det eksterne systemet skal benytter API’er på Helsenorge

Overordnet logisk flyt

 

 

Dette er en forenklet overordnet beskrivelse av dataflyten mellom eksternt system og STS (mer detaljer finnes her https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1348731100

F1: Uthopp fra Helsenorge for allerede innlogget innbygger (URL til startpunkt for innbygger i eksternt system). Denne kan ha parametere f.eks. time-id ved videoløsning. Kun relevant for USeCase 1 over (uthopp).

O1: Eksternt system/app kontakter STS sitt endepunkt /PAR for å autentisere seg og overføre parametere som skal benyttes. (Se: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1348731115 )

O2: Innbygger logger inn (eventuelt er allerede innlogget). Dette skjer via redirect i innbyggers nettleser. Resultatet er en AutorisasjonsKode, som systemet/app’en siden må benytte for å få ID-token, AksessToken og eventuelt Refreshtoken.

O3: Eksternt system kontakter STS endepunkt /Token for å få ID-token og AksessToken. AutorisasjonsKode som ble “mottatt” via redirect i innbyggers nettleser (O2) må være med i input. (Se: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1348731169)

F2: Eksternt system/app kan siden benytte AksessToken for å få tilgang til API’er på Helsenorge.

Detaljert beskrivelse av endepunkter og flyt finnes i denne undersiden: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1348731100

Endepunktet benytter forbedrede sikkerhetsmekanismer i forhold til tidligere endepunkt. Videre støttes mobil-apper og langtlevende sesjoner med bruk av RefreshToken.

Tidligere versjon av grensesnitt (avvikles)