/authorize

Benyttes for å håndtere pålogging av innbygger og evnt. samtykke til datadeling. Dette endepunktet må åpnes i en nettleser.

Spesifikasjoner

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).

URL og verb: Følgende URL skal åpnes i nettleseren: https://{miljø}/sts/oidcprov/v2/authorize (dvs. GET)

Plassering

Navn

Type

Beskrivelse

Plassering

Navn

Type

Beskrivelse

Querystring (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).

URL og verb: Følgende URL skal åpnes i nettleseren: https://{miljø}/sts/oidcprov/v2/authorize (dvs. GET)

Plassering

Navn

Type

Påkrevd

Beskrivelse

Plassering

Navn

Type

Påkrevd

Beskrivelse

Querystring (URL)

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

Betinget

Denne er frivillig.

Men, skal være med dersom man ønsker at det ved redirect benyttes en HTML-form for å returrne uthorization code (og state) i stedet for default som er at de returneres som query-parameter.

Verdi (hvis parameteren er med): “form_post”

Dette er anbefalt for å unngå at authorization code blir værende i nettleser sin browser-historikk.

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)

Frivillig (men anbefalt)

Tilfeldig kryptografisk verdi som genereres av klienten og som returneres som en del av ID-tokenet

ui_locales

string

Frivillig

Språk som brukergrensesnittet skal ha, foreløpig støttes kun verdien "nb".

(Hvis ikke satt, benyttes “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

Helsenorge redirecter til redirect_uri som ble sendt inn til /Authorize eller /par-endepunktet og sender med følgende parametere:

Plassering

Navn

Type

Beskrivelse

 

Plassering

Navn

Type

Beskrivelse

 

  • Dersom “response_mode” i kallet til /Authorize ikke var med: Som querrie parametere i redirect-URL

  • Dersom “response_mode” i kallet til /Authorize var “form_post”: Redirect via Post og Content-type: application/x-www-form-urlencoded

code

string

Autorisasjonskode som må benyttes for å etterpå få Token i /Token.

state

string

  • Hvis PAR-benyttes: state-parameter som ble sendt inn til /par-endepunktet

  • Hvis PAR-ikke benyttes: state-parameter som ble sendt inn til /Authorize-endepunktet

Response - Autentisering feilet

Plassering

Navn

Type

Beskrivelse

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

HTTP-status kode

Feilkode (error)

Beskrivelse

400

invalid_request

The request is missing a required parameter, includes an
unsupported parameter value (other than grant type),
repeats a parameter, includes multiple credentials,
utilizes more than one mechanism for authenticating the
client, or is otherwise malformed

400

invalid_client

Client authentication failed (e.g., unknown client, no
client authentication included, or unsupported
authentication method). The authorization server MAY
return an HTTP 401 (Unauthorized) status code to indicate
which HTTP authentication schemes are supported. If the
client attempted to authenticate via the "Authorization"
request header field, the authorization server MUST
respond with an HTTP 401 (Unauthorized) status code and
include the "WWW-Authenticate" response header field
matching the authentication scheme used by the client.

400

unauthorized_client

The authenticated client is not authorized to use this
authorization grant type.

503

temporarily_unavailable

The authorization server is currently unable to handle
the request due to a temporary overloading or maintenance
of the server.