Portabilidad del token de acceso

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.

Uso del token con diferentes tipos de apps

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ónVentajasDesventajasNotas 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 appsecret_proof para las llamadas.

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 appsecret_proof para las llamadas que se hacen desde el servidor.

Inicio de sesión y solicitudes de la API del cliente web o nativo

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:

  1. El cliente nativo o web autentica y utiliza el token obtenido (de corta o larga duración) para realizar llamadas.
  2. El cliente web autentica e intercambia el token de corta duración por uno de larga duración mediante el servidor. Este token se envía de regreso al cliente web donde este lo usa para realizar llamadas a la API.
  3. El cliente web autentica e intercambia el token de corta duración por uno de larga duración mediante el servidor. El servidor envía un código al cliente. El cliente intercambia el código para un token de larga duración y lo usa para realizar llamadas a la API. Esta configuración no suele usarse.

Flujo del cliente web o nativo

Flujo del cliente web con token de larga duración

Flujo del cliente web con intercambio de código

Inicio de sesión de cliente y llamadas a la API del servidor

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.

Inicio de sesión del cliente y llamadas a la API del servidor o el cliente

Esta configuración es una combinación de los enfoques anteriores.

Configurar tokens de acceso con el SDK

Hay distintos modos de especificar qué token de acceso se utiliza para una llamada a la API en nuestros SDK.