Validering av Access-token
Hvis et API bruker HelseID for autorisasjon, må de følgende reglene for validering av Access-token appliseres:
API-et må validere signaturen for alle inncommende Access-token i henhold til [RFC7515], med bruk av algoritmen som er spesifisert i
alg
-headeren i Access-tokenet. API-et må avvise alle Access-tooken der innholdet i header-verdienalg
er "none". API-et må bruke HelseIDs offentlige nøkkel for å validere signaturen på Access-tokenet.API-et må bekrefte at verdien for
typ
-headeren i Access-tokenet erat+jwt
ellerJWT
, og avvise ethvert Access-token som har en annen verdi.API-et må bekrefte at «Issuer Identifier» for HelseID (som kan hentes fra HelseIDs metadata-endepunkt) samsvarer med verdien for claimet
iss
(issuer) i Access-tokenet.API-et må validere at verdien for claimet
aud
(audience) samsvarer med kortnavnet (audience) slik som det er satt opp i HelseID Selvbetjening. Access-tokenet må avvises hvis- Verdien for claimet
aud
mangler - Verdien for claimet
aud
ikke inneholder et kortnavn som er eksakt lik det som er satt opp i HelseID Selvbetjening.
- Verdien for claimet
API-et bør validere at kortnavnet er den eneste verdien for kortnavn (audience) i Acess-tokenet. Acess-token med multiple
aud
-verdier er ikke anbefalt, men kan være akseptable i spesialtilfeller.API-et må inspisere innholdet i
exp
-claimet for å bekrefte at Access-tokenet ikke har utløpt. Du kan lage denne verdien større, men ikke mer enn noen sekunder, enn den faktiske klokketiden for å unngå vandring mellom klokker.API-et må bekrefte innholdet i
nbf
-claimet for å bekrefte at Access-tokenet fremdeles er aktivt. Du kan lage denne verdien større, men ikke mer enn noen sekunder, enn den faktiske klokketiden for å unngå vandring mellom klokker.Hvis API-et bruker scopes for tilgangskontroll, må API-et bekrefte at verdiene i
scope
-claimet er i samsvar med scopene som er satt opp for API-et i HelseID Selvbetjening.
Hvis API-et krever informasjon om en innlogget bruker i Acess-tokenet:
- Et API som krever informasjon om en innlogget bruker i Access-tokenet må validere både identieteten til brukeren (fødselsnummer eller HPR-nummer) og sikkerhetsnivået for brukerens identitet ved å inspisere følgende claim:
- Claim for fødselsnummer:
helseid://claims/identity/pid
- Claim for HPR-nummer:
helseid://claims/hpr/hpr_number
- Claim for sikkerhetsnivå:
helseid://claims/identity/security_level
- Claim for fødselsnummer:
Se dette dokumentet for å lese om verdien til disse claimene.