/
V3 - OpenID Connect /API-tilgang (IdToken og AccessToken)

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)

OpenID opsjon

Confidential clients (web-server clients)

Public clients (mobil-app eller Single Page Application)

/par

Frivillig å benytte /par (endret fra påkrevd til frivillig Q1-2023)

Påkrevet

  • PKCE: Påkrevd

/authorize

Påkrevet

  • PKCE: Påkrevd om man ikke benytter /par

Påkrevet

/token - grant_type=”authorization_code”

Påkrevet

  • Client Assertion: Påkrevd

  • PKCE: Påkrevd

Påkrevet

  • Client Assertion: Påkrevd

  • PKCE: Påkrevd

RefreshToken

Frivillig

Frivillig, men krever at biometri eller ekstra PIN-kode er satt opp for tilgang til applikasjon dersom det skal kunne benyttes.

Mutual TLS (mtls)

Frivillig

Påkrevd

Kall til Helsenorge eller PVK API’er

Avhengig av behov

Avhengig av behov

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)