Alla fine del processo di accesso, viene generato un token d'accesso. Questo token d'accesso viene passato insieme a ogni chiamata all'API come prova per indicare che la chiamata è stata effettuata da una persona specifica da una determinata app.
Facebook SDK for Javascript gestisce automaticamente l'archiviazione dei token d'accesso e il monitoraggio dello stato di accesso nel browser, pertanto non è necessario archiviare token d'accesso nel browser.
Tuttavia, la procedura più comune consiste nel ritrasmettere il token d'accesso a un server che effettua le chiamate per conto di una persona. Per ottenere il token dal browser puoi usare l'oggetto response
restituito tramite FB.getLoginStatus()
:
FB.getLoginStatus(function(response) { if (response.status === 'connected') { console.log(response.authResponse.accessToken); } });
Il token è una stringa opaca di lunghezza variabile.
Inoltre, tieni presente che i token d'accesso generati nei browser hanno generalmente una durata di due ore e vengono aggiornati automaticamente dall'SDK JavaScript. Se effettui le chiamate da un server, dovrai generare un token di lunga durata descritto nella nostra documentazione relativa ai token d'accesso.
In genere, le app devono confermare che la risposta ottenuta dalla finestra di dialogo Accedi sia stata inviata dalla stessa persona che ha avviato il flusso. Se utilizzi l'SDK JavaScript di Facebook, tali controlli vengono eseguiti automaticamente, pertanto presupponendo di effettuare solo chiamate dal browser, non è necessario che tu esegua alcuna operazione.
Invece, se desideri rinviare la richiesta al server, devi verificare nuovamente il token d'accesso una volta arrivato al server. Puoi trovare ulteriori informazioni al riguardo nella nostra documentazione sulla modalità di creazione manuale dei flussi di accesso. Dovrai verificare che app_id
e user_id
corrispondano a quanto previsto tramite l'endpoint di debug del token d'accesso.
A questo punto del flusso, la persona è autenticata e ha effettuato l'accesso. Inoltre, ora l'app può effettuare chiamate API per conto di tale persona dal browser. Nel browser, il metodo più semplice consiste nell'utilizzare la chiamata FB.api()
. A sua volta, FB.api()
aggiungerà automaticamente il token d'accesso alla chiamata.
Questo codice:
FB.api('/me', function(response) { console.log(JSON.stringify(response)); });
Restituirà un array con ID e nome:
{ "id":"101540562372987329832845483", "name":"Bob Smith" }
Se stai effettuando le chiamate lato server con il token d'accesso, puoi utilizzare un SDK per eseguire chiamate simili sul server. Molte persone usano PHP per creare le app web. Puoi trovare degli esempi della modalità di esecuzione delle chiamate API lato server nella nostra documentazione relativa all'SDK per PHP.
Le persone possono disinstallare le app tramite Facebook.com senza interagire con queste ultime. Per aiutarti a rilevare quando si verifica tale situazione, ti consentiamo di fornire un URL di callback per la rimozione dell'autorizzazione, che sarà chiamato ogni volta.
Puoi abilitare una callback per la rimozione dell'autorizzazione tramite la Dashboard gestione app.