Portabilità dei token d'accesso

Questa guida descrive alcuni scenari comuni della portabilità in modo da poter creare la tua app con la configurazione adatta alle tue esigenze.

Utilizzo dei token con diversi tipi di app

I token d'accesso sono dotati di portabilità: dopo averli ottenuti, puoi utilizzarli da qualsiasi dispositivo. Combinando interfacce web, client mobile e server, ottieni un mix delle diverse configurazioni possibili. Tuttavia, queste diverse configurazioni presentano vantaggi e svantaggi diversi in termini di capacità e sicurezza.

ConfigurazioneVantaggiSvantaggiNote sulla sicurezza

L'accesso e le richieste all'API avvengono in un client web (token di breve durata).

Semplice da implementare.

Nessuna pubblicazione offline.

Nessun accesso a lungo termine.

Autenticazione frequente.

L'accesso e le richieste all'API avvengono in un client web o mobile nativo (token di lunga durata).

Autenticazione meno frequente.

Nessuna pubblicazione offline.

L'accesso e le richieste all'API avvengono in un client web (token di lunga durata in seguito a scambio di codice).

Ulteriori misure di sicurezza in determinate situazioni.

Difficile da implementare.

Nessuna pubblicazione offline.

Utile solo in situazioni specifiche.

L'accesso avviene in un client web o mobile nativo.

Le richieste all'API avvengono su un server (con token di lunga durata).

Pubblicazione offline.

Aggiunta di funzioni di sicurezza disponibili con chiamate basate sul server.

Il client deve chiamare il server che agisce da proxy verso le chiamate.

Utilizzo di appsecret_proof per le chiamate.

L'accesso avviene in un client web o mobile nativo.

Le richieste all'API avvengono su un server o nel client.

Pubblicazione offline.

Pubblicazione dal client gestita dall'utente.

Difficile da implementare.

Utilizzo di appsecret_proof per le chiamate effettuate dal server.

Accesso e richieste all'API su client web o nativo

È la configurazione più semplice, in cui l'autenticazione e le richieste all'API avvengono sul client. In questo modello esistono tre possibili configurazioni:

  1. Il client web o nativo autentica e utilizza il token di breve o lunga durata restituito per effettuare le chiamate.
  2. Il client web autentica e scambia il token di breve durata con uno di lunga durata attraverso il server e quest'ultimo viene inviato nuovamente al client web per effettuare le chiamate all'API.
  3. Il client web autentica e scambia il token di breve durata con uno di lunga durata attraverso il server e quest'ultimo invia un codice al client. Infine, il client scambia il codice con un token di lunga durata e lo utilizza per effettuare le chiamate all'API. Questa configurazione viene utilizzata raramente.

Flusso del client web o nativo

Flusso del client web con token di lunga durata

Flusso del client web con scambio di codice

Accesso sul client e chiamate all'API dal server

In questa configurazione comune, l'autenticazione avviene sul client, mentre il server effettua le chiamate all'API per conto del client. Il server può utilizzare il parametro appsecret_proof per aumentare la sicurezza durante l'esecuzione delle chiamate.

Accesso sul client e chiamate all'API dal client o dal server

Questa configurazione è una combinazione degli approcci precedenti.

Impostazione dei token d'accesso mediante l'SDK

Esistono modi diversi per specificare il token d'accesso da utilizzare durante una chiamata all'API nei nostri SDK: