Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

For tjenester som ikke benytter seg av basic authentication så overføres tokenet via HTTP headeren:

 

Authorization: Bearer <<Tokenverdi>>

Dersom basic authentication allerede benyttes, benyttes custom header som bærer av tokenet:

X-Authorization: Bearer <<Tokenverdi>>

Header

Claim key

Claim navn

Beskrivelse

alg

Algorithm

  • Hvilken algoritme som benyttes. Vil være "RS256" dvs. RSA-SHA256

  • Ønskelig at denne benyttes aktivt slik at vi senere kan gå sømløst over til evnt. sterkere algoritmer

  • Viktig å validere at denne ikke inneholder en tom verdi (kjent sårbarhet)

kid

Key ID

Thumbprint til sertifikatet som ble benyttet til å generere token.

  • Når JWT-tokenet skal valideres av den som mottar tokenet skal alltid sertifikatkjeden som kommer fra JWK-endepunktet benyttes.

typ

Type

Type token det er, vil alltid være "JWT"

ver

Version

Egendefinert header-verdi som sier hvilken versjon tokenet er

typ_2

Type 2

Egendefinert header-verdi som sier hvilken type JWT som Helsenorge utsteder. Vil være "system_ws_sync"

Payload

Claim key

Claim navn

Beskrivelse

scp

Scope

Vil inneholde en liste (separert med mellomrom) over hvilke dataområder/opplysninger som tokenet gir klienten (client_id) tilgang til. API/systemet som mottar tokenet fra Helsenorge validere at det “scope” deres data representerer er inkludert i JWT-tokenet før det gis tilgang. For mulige verdier se: Gruppering av opplysninger om innbygger (informasjonselementer), for tilgangstyring

client_id

Client Id

En GUID som identifiserer system klienten på Helsenorge som utfører kallet. Mottager trenger ikke forholde seg til denne verdien.

client_name

Client Name

Navnet til system klienten på Helsenorge som utfører kallet. Mottager trenger ikke forholde seg til denne verdien.

endusertype

End user type

Hva slags sluttbruker tokenet er utstedt til. Vil alltid være "system"

aud

Audience

API/systemet som mottar tokenet fra Helsenorge bør validere at verdien i “aud” er lik den identifikator som er avtalt å benytte mellom partene. For PVK er dette den "partKode" som er avtalt mellom partene og som definerer "eier" av den aktuelle personverninnstilling.

nbf

Not Before

Tidspunktet fra når tokenet er gyldig. Vil alltid ha samme verdi som tidspunktet det ble generert på

exp

Expiration Time

Tidspunktet for når tokenet utløper. Standard er 20 minutter

iat

Issued At

Tidspunktet for når tokenet ble generert

iss

Issuer

Hvem som har generert tokenet, vil alltid være "sikkerhet.helsenorge.no"

Eksempel

Encoded

eyJhbGciOiJSUzI1NiIsImtpZCI6IkY0NkVDQjI5RjhCOTk5NEQyMjg2QjA3M0MxQ0VBNkE1MkJCNzQ2RkMiLCJ0eXAiOiJKV1QiLCJ2ZXIiOjEsInR5cF8yIjoic3lzdGVtX3dzX3N5bmMifQ.eyJqdGkiOiI1NmRkMmM2MC1hMTljLTRjODctYTZlNi00YmYxYjJiNTViYTQiLCJzY3AiOiJwZXJzb252ZXJuaW5uc3RpbGxpbmdlciIsImNsaWVudF9pZCI6ImVmNWRjZDA5LTMwMjUtNDJhNC04ZDgyLTE5ZjVmNzMwMDY2ZiIsImNsaWVudF9uYW1lIjoiU2VuZE1lbGRpbmdUaWxBa3RvciBCYXRjaCIsImVuZHVzZXJ0eXBlIjoic3lzdGVtIiwiYXVkIjoiUkYiLCJuYmYiOjE2MDI2NTgzMjUsImV4cCI6MTYwMjY1OTUyNSwiaWF0IjoxNjAyNjU4MzI1LCJpc3MiOiJzaWtrZXJoZXQuaGVsc2Vub3JnZS5ubyJ9.GMhNdOlxrDnI8CaCi3pqpPL4YPAIRpCeXTTNh3YTOnOAO8vYnCCdFJ6OKewv3E0agcGIPPHAmHYuFGuRzuil1AhaGmVjwXFoPjuN1GVa8ZPXWXUGhhYABwRr4di7eDn1WxH3mYLfbK9SxEWHrzsaon1J0HEcVcnZUUxf8v3mSN760cS6YyzJWlT_CMmQHhB5wjbvyNXXj4uiJZdsC26StVCtJ9_fzrU08R9CVnTi6cbJwNGbEg_QZ3eIzBF8l6iQCY7Zwn2fc7o91gbiM2XvOFStOxFfGk4mPh_NbhxakqwpJdkFAAYI3yLKKFCXnj5FtA43sp020BcKXHsa3TT38w

...

Endepunkt der signeringssertifikat kjeden kan hentes ut

Dersom ekstrent system har tilgang til Internett:

Dersom eksternt system kun har tilgang til Helsenettet:

Sertifikatet som er benyttet i signeringen av JWT har den key-identifier som finnes i JWT header (“kid” i Header). Dvs. at jwk-endepunktet returnerer dette sertifikatet og resten av sertifikatkjeden opp til “Root-CA”. Det er derfor kun behov for å hente sertifikatkjede på nytt fra JWK-endepunktet dersom “kid” i JWT-tokenet endres.

...