En esta guía, se explican algunas situaciones comunes de portabilidad a fin de que puedas compilar tu app con la configuración adecuada para tus necesidades.
Los tokens de acceso son portátiles. Una vez que obtienes un token, puedes usarlo desde cualquier equipo. Cuando se combinan interfaces web, clientes de telefonía celular y servidores, existen varias posibilidades de configuración. Sin embargo, cada una de estas posibilidades ofrece distintos niveles de capacidad y seguridad.
Configuración | Ventajas | Desventajas | Notas de seguridad |
---|---|---|---|
El inicio de sesión y las solicitudes de la API se producen en un cliente web (token de corta duración). | Implementación simple. | No se puede publicar sin conexión. No existe el acceso de larga duración. Se requiere autenticar con frecuencia. | |
El inicio de sesión y las solicitudes de la API se producen en un cliente web o de telefonía celular nativo (token de larga duración). | La autenticación es menos frecuente. | No se puede publicar sin conexión. | |
El inicio de sesión y las solicitudes de la API se producen en un cliente web (token de larga duración después del intercambio de códigos). | Seguridad adicional en ciertas situaciones. | Es difícil de implementar. No se puede publicar sin conexión. | Solo resulta útil en situaciones específicas. |
El inicio de sesión se produce en un cliente web o de telefonía celular nativo. Las solicitudes de la API se producen en un servidor (con token de larga duración). | Se puede publicar sin conexión. Agrega las funciones de seguridad disponibles para las llamadas basadas en servidor. | El cliente debe llamar al servidor para autorizar cualquier llamada. | Usa |
El inicio de sesión se produce en un cliente web o de telefonía celular nativo. Las solicitudes de la API se producen en un servidor o en el cliente. | Se puede publicar sin conexión. Publicación impulsada por el usuario desde el cliente. | Es difícil de implementar. | Usa |
Esta es la configuración más simple en la que la autenticación y las solicitudes de la API se producen en el cliente. Este modelo tiene tres posibles configuraciones:
En esta configuración común, la autenticación se produce en el cliente, pero todas las llamadas a la API se realizan mediante el servidor en nombre del cliente. El servidor puede utilizar el parámetro appsecret_proof
para mejorar aún más la seguridad al realizar llamadas.
Esta configuración es una combinación de los enfoques anteriores.
Hay distintos modos de especificar qué token de acceso se utiliza para una llamada a la API en nuestros SDK.
setCurrentAccessToken
del SDK de Facebook para Android tiene el parámetro accessToken
.setCurrentAccessToken
del SDK de Facebook para iOS tiene el parámetro token
.FB.api()
del SDK de Facebook para JavaScript tiene el parámetro access_token
.