Guida pratica: Gestire l’autorizzazione
Guida pratica: Gestire l’autorizzazione
Panoramica
Questa guida descrive le procedure per gestire i token di autorizzazione del dispositivo in Frame.io, inclusi aggiornamento, revoca e procedure di archiviazione sicura dei token.
Prerequisiti
Rivedi la guida Implementazione C2C: configurazione per assicurarti che la configurazione sia corretta.
Componenti essenziali richiesti:
- Un
client_secretvalido rilasciato da Frame.io - Il
client_idche ti è stato assegnato, come descritto nella guida di autenticazione e autorizzazione - Credenziali
access_tokenerefresh_tokenvalide
Informazioni sui token di autorizzazione
La guida precedente sull’autenticazione del dispositivo ha spiegato il processo per ottenere i token di autorizzazione iniziali tramite l’autenticazione dell’utente. I token di accesso funzionano per circa 8 ore. Per eliminare la necessità associare frequentemente il dispositivo, implementiamo l’ambito offline per ottenere un token di aggiornamento insieme all’autorizzazione. Questo token di aggiornamento consente di generare nuovi token di accesso alla scadenza.
I token di aggiornamento hanno una validità di 14 giorni. Questa limitazione deliberata per la durata dei token di accesso migliora la sicurezza e riduce le potenziali vulnerabilità dai token compromessi. Tieni presente che se l’autorizzazione non viene rinnovata prima della scadenza del token di aggiornamento, l’utente deve autenticarsi di nuovo.
Processo di rinnovo del token di accesso
Alla scadenza del token di accesso, le richieste API riceveranno questa risposta:
Esegui questo comando per ottenere un nuovo token:
Specifica dell'endpoint API
La documentazione dettagliata per /v2/auth/token è disponibile qui
Questa implementazione richiede più fattori di autenticazione per migliorare la sicurezza. Una parte non autorizzata dovrebbe ottenere sia il refresh_token che il client_secret per impersonare con successo la tua integrazione.
Se il rinnovo riesce, viene generata questa risposta:
Al completamento dell’aggiornamento del token, le credenziali precedenti diventano non valide. Assicurati di conservare in modo adeguato i nuovi token di autorizzazione.
Se si tenta di riutilizzare un token di aggiornamento, compare questo messaggio:
Questo indica che il token è stato elaborato in precedenza e non è più valido.
Errore 401 durante un aggiornamento
La ricezione di una risposta 401 Not Authorized durante l’aggiornamento del token indica che le credenziali non sono più valide, perciò è necessario un nuovo processo di autorizzazione.
Gestione delle risposte di aggiornamento non riuscite
Poiché i valori di refresh_token possono essere usati una sola volta, la mancata acquisizione della risposta di aggiornamento (sia in caso di interruzione di rete che in caso di arresto del sistema) rende necessario riavviare l’intera sequenza di autenticazione e autorizzazione.
Questo protocollo di sicurezza, seppur potenzialmente scomodo, è essenziale per mantenere l’integrità del sistema.
Processo di revoca del token
In alcune circostanze, potrebbe essere necessario chiudere l’accesso a Frame.io, ad esempio in caso di completamento del progetto o reimpostazione dell’app. Implementa le procedure di revoca appropriate quando annulli l’autorizzazione corrente.
Esegui il comando seguente per revocare l’autorizzazione:
Riautorizzazione
Dopo la revoca, devi riavviare il processo di autenticazione e autorizzazione come descritto nella guida di autenticazione e autorizzazione.
Specifica dell'endpoint API
La documentazione completa per /v2/auth/revoke è disponibile qui
Il sistema restituisce intestazioni senza payload. La riuscita dell’operazione è indicata da un codice di stato 200:
Dopo la revoca, le operazioni Frame.io che richiedono l’autenticazione mediante access_token restituiranno Not Authorized. Il ripristino dell’accesso richiede la riassociazione del dispositivo al progetto.
Implementazione dell’archiviazione dei token
Per mantenere persistente l’autorizzazione tra i vari riavvii del sistema, è necessaria l’archiviazione sicura dei token. Segui queste linee guida di base:
Implementa i controlli di accesso degli utenti: limita la visibilità e l’accesso ai token esclusivamente ai processi dell’app. Abilita la crittografia dell’archiviazione: implementa la crittografia per i token archiviati, inclusi il client_secret e le credenziali di autorizzazione. Non mantenere mai le chiavi di autorizzazione in formato di testo normale. Separa le credenziali: l’app Python di esempio consolida l’archiviazione, ma gli ambienti di produzione dovrebbero separare i token di autorizzazione dal client_secret. Considera questi fattori:
client_secreteclient_idrappresentano credenziali permanenti del dispositivo: se vengono perse, il dispositivo non funzionerà più- I token di autorizzazione vengono aggiornati regolarmente durante il funzionamento del dispositivo
- L’archiviazione segregata assicura che la corruzione dell’archiviazione dei token richieda solo la riassociazione del dispositivo, invece della reimpostazione completa dell’autenticazione
Anche se SQLite offre capacità ottimali per l’archiviazione dei token, implementa almeno un’archiviazione separata per i dati di autorizzazione e le credenziali principali.
Passaggi successivi
Seguiamo i tuoi progressi e ti invitiamo a passare alla guida per lo stato di connessione e gli heartbeat. Contatta il nostro team per qualsiasi domanda o problema.