Token di accesso per la front API

Gli endpoint dell'account della front API (/fapi/v1/me…, /fapi/v1/verifications… e /fapi/v1/organizations…) accettano due tipi di autenticazione:

Ottenere il token

Chiedi all'endpoint dei token della front API come risorsa (RFC 8707), in uno scambio con authorization code o in un refresh:

POST /oauth2/token
Content-Type: application/x-www-form-urlencoded
DPoP: <proof>

grant_type=refresh_token&refresh_token=<refresh token>&client_id=app_01j9...&resource=https%3A%2F%2Facme.keenauth.app%2Ffapi

Il valore è l'issuer dell'ambiente seguito da /fapi. La richiesta viene accettata solo quando:

Cambia solo il token di accesso. La sua audience è <issuer>/fapi, include solo gli scope OpenID del grant (openid, profile, email, phone, offline_access), ha la stessa durata di un token userinfo ed è legato alla chiave della proof. Il grant stesso, il suo refresh token e i suoi scope restano invariati; un refresh ruota il refresh token come di consueto.

Chiamare gli endpoint dell'account

Invia il token con lo schema DPoP e una nuova proof per ogni richiesta (RFC 9449):

GET /fapi/v1/me/sessions
Idp-Client: <SDK identifier>
Authorization: DPoP <access token>
DPoP: <proof with htm, htu, iat, jti, ath>

Errori

Stato Codice Quando
400 malformed_request Più di un header Authorization, oppure un header che non è DPoP <token>.
401 unauthenticated Il token è non valido, scaduto o revocato, ha un'altra audience, non è legato a DPoP, oppure la sua sessione o applicazione non è più attiva.
401 invalid_dpop_proof La proof non è valida oppure è stata firmata con un'altra chiave.
401 use_dpop_nonce Invia una nuova proof con il nonce presente nell'header DPoP-Nonce.
403 origin_not_allowed L'origine della pagina non è una delle origini web consentite dell'applicazione.

Ogni 401 include una challenge WWW-Authenticate: DPoP ….