...
Confidential Clients (kun tillatt ved server-side web application)
...
Request - For klienter som benytter Pushed Authorization Request (PAR)
Pushed Authorization Request (PAR) er påkrevd for alle public clients (mobilapper) og er valgfritt, men sterkt anbefalt for alle confidential clients (server side webapper).
Følgende URL skal åpnes i nettleseren: https://{miljø}/sts/oidcprov/v2/authorizeContent-type: application/x-www-form-urlencoded
Plassering | Navn | Type | Beskrivelse |
---|---|---|---|
URL | client_id | string | Påkrevd |
request_uri | string | request_uri returnert til klienten fra /par-endepunktet |
Request - For klienter som ikke benytter Pushed Authorization Request (PAR)
Pushed Authorization Request (PAR) er påkrevd for alle public clients (mobilapper) og er valgfritt, men sterkt anbefalt for alle confidential clients (server side webapper).
Følgende URL skal åpnes i nettleseren: https://{miljø}/sts/oidcprov/v2/authorize
Plassering | Navn | Type | Påkrevd | Beskrivelse |
---|---|---|---|---|
Body (x-www-form-urlencoded)Querystring | client_id | string | Ja | Client ID verdien |
redirect_uri | string | Ja | Redirect URL. Må være en URL som helsenorge har forhåndsregistrert på klienten. | |
response_type | string | Ja | Skal ha verdien "code" | |
response_mode | string | Ja | “form_post” eller “query”. “form_post” anbefales da authorization code som returneres vil postes som en form-parameter i steden for å eksponeres som en querystring på URL. | |
state | string (max 1000 tegn) | Ja | Tilfeldig kryptografisk verdi som genereres av klienten og som returneres ved redirect tilbake til klienten etter fullført autentisering | |
nonce | string (max 1000 tegn) | Ja | Tilfeldig kryptografisk verdi som genereres av klienten og som returneres som en del av ID-tokenet | |
ui_locales | string | Ja | Språk som brukergrensesnittet skal ha, må ha verdien "nb" | |
scope | string | Ja | Må inneholde "openid" og evnt. "offline_access" i tillegg dersom klienten skal kunne få utstedt “refresh-token”. (Øvrige tilganger klienten får til API’er på Helsenorge styres av konfigurasjonen av klienten på Helsenorge). | |
code_challenge | string | Ja | PKCE, generer først en code_verifier som er en kryptografisk tilfeldig streng mellom 43-128 tegn, gjør deretter følgende for å få code_challenge verdien: BASE64URL-ENCODE(SHA256(ASCII(code_verifier))) | |
code_challenge_method | string | Ja | PKCE, skal ha verdien "S256" |
Response
...
- Vellykket autentisering
Redirect via Post (response_mode=form_post)
Helsenorge redirecter til redirect_uri som ble sendt inn til /Authorize eller /par-endepunktet og sender med følgende POST-parametere:
Plassering
Navn
Type
Beskrivelse
URL
client_id
string
Påkrevd
request_uri
string
Plassering | Navn | Type | Beskrivelse |
---|---|---|---|
Body | code | string | Autorisasjonskode som må benyttes for å etterpå få Token i /Token. |
state | string |
|
Public clients (Mobile App) eller (frivillig) Confidential Clients
Request når det på forhånd er benyttet /par
Følgende URL skal åpnes i nettleseren: https://{miljø}/sts/oidcprov/v2/authorize
|
Plassering
Navn
Beskrivelse
URL
code
Autorisasjonskode som må benyttes for å etterpå få Token i /Token.
state
|
Response ved vellykket Autentisering
Redirect via Get (response_mode=query)
Helsenorge redirecter til redirect_uri som ble sendt inn til /par-endepunktet og sender med følgende querystring-parametere:
|
|
Response - Autentisering
...
feilet
Plassering | Navn | Type | Beskrivelse |
---|---|---|---|
Body hvis response_mode=form_post, Querystring hvis response_mode=query | error | string | Sendes med: Ja |
error_description | string | Sendes med: Ja | |
state | Sendes med: Ja, oppgitt state parameter fra steg 3 |
Response - Autentisering feilet - Mulige feilkoder
HTTP-status kode | Feilkode (error) | Beskrivelse |
---|---|---|
400 | invalid_request | The request is missing a required parameter, includes an |
400 | invalid_client | Client authentication failed (e.g., unknown client, no |
400 | unauthorized_client | The authenticated client is not authorized to use this |
503 | temporarily_unavailable | The authorization server is currently unable to handle |