V3 - OpenID Connect /API-tilgang (IdToken og AccessToken)
Innledning
Alle eksterne systemer og applikasjoner som opererer i innbygger/pasient kontekst skal benytte denne versjonen av OpenID tjenesten. Hvilke sikkerhetsopsjoner som kan/skal benyttes er angitt i tabellen under:
OpenID opsjon | Confidential clients (web-server clients) | Public clients (mobil-app eller Single Page Application) |
---|---|---|
Frivillig å benytte /par (endret fra påkrevd til frivillig Q1-2023) | Påkrevet
| |
Påkrevet
| Påkrevet | |
/token - grant_type=”authorization_code”
| Påkrevet
| Påkrevet
|
RefreshToken | Frivillig | Frivillig, men krever at biometri eller ekstra PIN-kode er satt opp for tilgang til applikasjon dersom det skal kunne benyttes. |
Frivillig | Påkrevd | |
Frivillig | Frivillig |
Endepunkter og “root-of-trust”
Root of trust er det såkalte weel-known endepunktet for OIDC:
[Miljøets base URL]/sts/oidcprov/v3/.well-known/openid-configuration
De forskjellige test-miljøenes base URL (og Prod) finner du HER.
Dette endepunktet gir URL til alle øvrige endepunktene i OIDC (for aktuelt miljø).
Eksempel fra TEST01 (https://eksternapi.hn.test.nhn.no/sts/oidcprov/v3/.well-known/openid-configuration)
{"issuer":"https://eksternapi.hn.test.nhn.no/sts/oidcprov/v3","authorization_endpoint":"https://tjenester.hn.test.nhn.no/sts/oidcprov/v2/authorize","token_endpoint":"https://eksternapi.hn.test.nhn.no/sts/oidcprov/v3/token","end_session_endpoint":"https://tjenester.hn.test.nhn.no/sts/oidcprov/v2/logout","revocation_endpoint":"https://eksternapi.hn.test.nhn.no/sts/oidcprov/v1/revoke","jwks_uri":"https://eksternapi.hn.test.nhn.no/sts/oidcprov/v3/jwk","response_types_supported":["code","id_token","id_token token"],"response_modes_supported":["query","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"scopes_supported":["openid"],"ui_locales_supported":["nb","nn"],"acr_values_supported":["Level4"],"pushed_authorization_request_endpoint":"https://eksternapi.hn.test.nhn.no/sts/oidcprov/v1/par","mtls_endpoint_aliases":{"token_endpoint":"https://eksternapi-mtls.hn.test.nhn.no/sts/oidcprov/v3/token","revocation_endpoint":"https://eksternapi-mtls.hn.test.nhn.no/sts/oidcprov/v1/revoke","pushed_authorization_request_endpoint":"https://eksternapi-mtls.hn.test.nhn.no/sts/oidcprov/v1/par"}}
Ved validering av ID-token som mottas, skal sertifikatkjeden som returneres fra /jwk-endepunktet benyttes
jwk-endepunkt fra eksemplet over (TEST01):
https://eksternapi.hn.test.nhn.no/sts/oidcprov/v3/jwk
Responsen fra /jwk- endepunktet kan “cashes” så lenge ikke key-identifier i mottatt token endre seg (“kid” i JWT-header)
OpenId Connect flyt
Uten bruk av /par Kun tilatt for Confidential clients (server side web apps)
Med bruk av /par Public clients (Mobil App)