Token-endepunktet
Token-endepunktet er tilgjengelig i HelseID på stien /connect/token
, relatert til navnet på tjeneren. For eksempel:
https://helseid-sts.test.nhn.no/connect/token
Bruken av dette endepunktet er beskevet her.
Token-endepunktet kan brukes for å forespørre tokens fra HelseID. Det støtter grant-typene authorization_code
, client_credentials
, refresh_token
og token_exchange
.
Kall til Token-endepunktet
De følgende parametrene er obligatoriske:
client_id
: Identifiserer klienten. Du får denne verdien i HelseID Selvbetjening.client_assertion
: En Base64-kodet JWT som er signert med din privatnøkkel, som beskrevet herclient_assertion_type
: Typen forclient assertion
. Verdien må væreurn:ietf:params:oauth:client-assertion-type:jwt-bearer
.grant_type
: En grant for kallet. De følgende verdiene kan brukes:authorization_code
,client_credentials
,refresh_token
, ellerurn:ietf:params:oauth:grant-type:token-exchange
.
Ved bruk av authorization_code
-grant, må disse parametrene brukes:
code
: Verdien «Authorization Code», utstedt fra HelseID i responsen fra kallet til Authorization-endepunktetredirect_uri
: «Redirect URI»-verdien, som sendt fra klienten til HelseID i kallet til PAR-endepunktetcode_verifier
: «PKCE proof key», som sendt som en hashet verdi i kallet til PAR-endepunktet (verdien skal ikke hashes i dette kallet)
Ved bruk av refresh_token
-grant, må dette parameteret brukes:
refresh_token
: Refresh-token-strengen, som utstedt fra HelseID i et tidligere kall til Token-endepunktet
De følgende parametrene kan brukes (særlig ved bruk av client_credential
- eller token_exchange
-grants):
scope
: Ett eller flere scopes, separert med mellomrom, som beskrevet her [OAuth 2.0].resource
: En resource indicator for å velge et spesifikt API. HelseID vil returnere et Access-token med verdien iaud
-claimet satt til denne verdien.
For parametre ved bruk av token_exchange
: se dette dokumentet.
Et eksempel på innhold ved bruk av Token-endepunktet:
POST /connect/token HTTP/1.1
Host: helseid-sts.nhn.no
Content-Type: application/x-www-form-urlencoded
client_id=f4352589-549d-47ec-9844-5255f4eb0fad&
grant_type=authorization_code&
redirect_uri=https%3A%2F%2Fclient.example.org%2Fredirect&
code_verifier=kaaoUXWxz64a1FIzO|4uVW2CBySgShekR5G7oyEg9Q&
client_assertion=eyJhbGciOiJSUzI...lZ22kWJV4pHr8t&
client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
code=FF35789EB21464EAC9EE88260A6...672FEEA01735-1&
Respons fra Token-endepunktet
En suksess-respons fra Token-endepunktet vil inneholde følgende parametre:
access_token
: Et Access-token, kodet i Base64 som en JWTtoken_type
: Hvilken type token som ble returnert. For HelseID er dette entenDPoP
, orbearer
expires_in
: Antall sekunder før Access-tokenet utløper
En suksess-respons fra Token-endepunktet kan også inneholde disse parametrene:
identity_token
: Et ID-token, kodet i Base64 som en JWT. Tokenet korresponderer til sesjonen til den påloggede brukeren. Denne verdien blir bare returnert ved bruk avauthorization_code
-granten.refresh_token
: Et Refresh-token, i strengeverdi. Denne verdien blir bare returnert hvis klienten har bedt om scopetoffline_access
, eller ved bruk avrefresh_token
-granten.rt_expires_in
: Antall sekunder før Refresh-tokenet utløper. Denne verdien er spesifikk for HelseID, og ikke en protokollstandard.scope
: Scope som ble forespurt i kallet
Feilmeldinger fra Token-endepunktet:
Se dette dokumentet.