Al final del proceso de inicio de sesión, se genera un identificador de acceso. Este identificador de acceso se pasa con todas las llamadas a la API como prueba de que la llamada la ha realizado una persona determinada desde una aplicación concreta.
Facebook SDK for Javascript gestiona automáticamente el almacenamiento de identificadores de acceso y el seguimiento del estado del inicio de sesión en el navegador, de modo que no necesitas nada para almacenar estos identificadores en el propio navegador.
No obstante, es común recibir el identificador de acceso y devolverlo a un servidor para que este realice las llamadas en nombre de una persona. Para obtener el identificador del navegador, puedes utilizar el objeto response
que se devuelve mediante FB.getLoginStatus()
:
FB.getLoginStatus(function(response) { if (response.status === 'connected') { console.log(response.authResponse.accessToken); } });
El identificador es una cadena opaca de longitud variable.
Ten en cuenta también que los identificadores de acceso que se generan en los navegadores suelen tener una duración de solo un par de horas y que el SDK para JavaScript los actualiza automáticamente. Si realizas llamadas desde un servidor, debes generar un identificador de larga duración. Puedes obtener información más detallada sobre este tema en la documentación sobre identificadores de acceso.
Normalmente, las aplicaciones deben confirmar que la respuesta del cuadro de diálogo de inicio de sesión procede de la misma persona que lo inició. Si utilizas el SDK de Facebook para JavaScript y solo realizas llamadas desde el navegador, estas comprobaciones se realizan de forma automática, de modo que no tienes que hacer nada.
Si decides devolver la respuesta al servidor, debes asegurarte de volver a verificar el identificador de acceso una vez que este llegue al servidor. Puedes obtener más información sobre cómo volver a verificar el identificador en Creación manual de un proceso de inicio de sesión. Debes verificar que app_id
y user_id
coincidan con el resultado esperado del extremo de depuración del identificador de acceso.
En este momento del proceso, la persona se autentica e inicia sesión. Ahora la aplicación ya está lista para realizar llamadas a la API en su nombre desde el navegador. La forma más sencilla de hacerlo en el navegador es con la llamada a FB.api()
. El método FB.api()
añadirá automáticamente el identificador de acceso a la llamada.
Mira el código siguiente:
FB.api('/me', function(response) { console.log(JSON.stringify(response)); });
Devolverá una matriz con el identificador y el nombre:
{ "id":"101540562372987329832845483", "name":"Bob Smith" }
Si realizas llamadas desde el servidor con el identificador de acceso, puedes utilizar un SDK en el servidor para realizar llamadas similares. Muchas personas utilizan PHP para crear aplicaciones web. Puedes encontrar algunos ejemplos de llamadas a la API desde el servidor en nuestra documentación del SDK para PHP.
Una persona puede desinstalar aplicaciones desde Facebook.com sin tener que interactuar con ellas. Para que las aplicaciones puedan detectarlo, permitimos que proporcionen una URL de devolución de llamada de retirada de autorización. Esta llamada se realiza en el momento de la desinstalación.
Puedes activar la devolución de llamada de retirada de autorización mediante el panel de aplicaciones.