Aggiornamento dei token OAuth 2
Questa guida presuppone che tu abbia già creato un'app OAuth2
Se non l’hai fatto, consulta questa guida e torna qui una volta acquisiti access_token e refresh_token da una concessione di credenziali OAuth 2 riuscita.
Nozioni di base sull’aggiornamento dei token
Supponendo che tu abbia incluso l’ambito offline nella richiesta di credenziali OAuth2.0, l’autenticazione riuscita tramite l’applicazione degli account di Frame.io restituirà un payload simile al seguente:
access_token è un token bearer che può essere utilizzato per agire per conto dell’utente autenticato; scadrà dopo 3600 secondi (un’ora); dopodiché il refresh_token potrà essere utilizzato per recuperare un nuovo access_token. Il token di aggiornamento scadrà dopo 30 giorni, trascorsi i quali l’utente dovrà eseguire di nuovo l’accesso da zero, producendo una nuova coppia di token di accesso e aggiornamento e così via. Se non richiedi esplicitamente l’ambito offline, non riceverai un refresh_token, perciò dopo un’ora dovrai riautenticare completamente l’utente.
Acquisizione del token di aggiornamento in caso di autenticazione riuscita
Ovviamente, non puoi utilizzare un refresh_token che non hai, quindi nella tua app devi fare quanto segue:
- Richiedi l’ambito offline
- Acquisisci il
refresh_tokenrestituito in un callback riuscito.
Per comodità, qui è riprodotto il callback delle nostre guide per le app OAuth 2, con una chiamata os per memorizzare il token di aggiornamento. Tieni presente che vengono forniti due esempi: uno con PKCE configurato (non include l’intestazione di autenticazione di base) e uno senza (include l’intestazione di autenticazione di base).
Senza PKCE
Con PKCE
Esecuzione di un aggiornamento
L’aggiornamento stesso è una singola chiamata all’URL del token di Frame.io:
- Metodo: POST
- URL: https://applications.frame.io/oauth2/token
Content-Type: application/x-www-form-urlencoded
Un aggiornamento include sempre almeno i seguenti tre attributi nei dati del modulo:
grant_type: refresh_tokenscope: <scopes>refresh_token: <refresh_token>
Se usi PKCE, devi includere il client_id dell’app nei dati di questo modulo; altrimenti, devi includere un’intestazione di autenticazione Basic con il client_id e il client_secret dell’app come nome utente e password, rispettivamente.
Senza PKCE
In modo simile al callback di autenticazione iniziale senza PKCE, questo aggiornamento standard prevede la specifica del client_id e del client_secret come nome utente e password in un’intestazione di autenticazione Basic.
Con PKCE
Ancora una volta, stiamo seguendo le regole del ciclo /callback iniziale:
- Non includiamo un’intestazione
Authorization - Dobbiamo includere il
client_idnel payload
Complimenti! Ora puoi gestire l’intero ciclo di vita dei token di un’applicazione client OAuth2.0.