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

Påkrevet

  • PKCE: Påkrevd

Påkrevet

  • PKCE: Påkrevd

/authorize

Påkrevet

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

  1. /token - grant_type =”refresh_token” (Benyttes for å få nytt AksessToken dersom det initielle AksessToken er gått ut på tid. Normal varighet på ett AksessToken er 30 min)

  2. /extend

  1. Frivillig (maks levetid på RefreshToken er 8 timer)

  2. Ikke i bruk

  1. Frivillig. (Initiiell levetid på RefreshToken settes kort.)

  2. Etter at tilgang til App er beskyttet med biometri eller egen PIN-kode, kan /extend endepunktet benyttes for å utvide levetiden til RefreshTokenet. (Maks levetid for extended RefreshToken er 3 måneder dersom “beskyttet” av biometri)

Mutual TLS (mtls)

Ikke aktuelt

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

Confidential clients (server side web apps)

We've encountered an issue exporting this macro. Please try exporting again later.

Public clients (Mobil App)

We've encountered an issue exporting this macro. Please try exporting again later.