Autorización basada en PIN
El flujo OAuth basado en PIN es una versión del proceso OAuth de 3 patas y está pensado para aplicaciones que no pueden acceder o incrustar un navegador web para redirigir al usuario después de la autorización. Ejemplos de tales aplicaciones serían aplicaciones de línea de comandos, sistemas embebidos, consolas de juegos y ciertos tipos de aplicaciones móviles. El flujo OAuth basado en PIN es iniciado por una app en elrequest_token con el oauth_callback establecido en oob. El término oob significa OAuth fuera de banda (out-of-band). El usuario aún visita X para iniciar sesión o autorizar la app, pero no será redirigido automáticamente a la aplicación tras aprobar el acceso. En cambio, verá un código PIN numérico, con instrucciones para regresar a la aplicación e ingresar este valor.
Nota: La
callback_url en la configuración de la X app sigue siendo obligatoria, incluso cuando se utiliza autenticación basada en PIN.Implementación del flujo OAuth basado en PIN
El flujo basado en PIN se implementa de la misma manera que la autorización de 3 patas (e Iniciar sesión con X), con las siguientes diferencias:-
El valor de
oauth_callbackdebe establecerse enoobdurante la llamada POST oauth/request_token. -
Después de que el usuario es enviado a X para autorizar tu app usando una URL GET oauth/authenticate o GET oauth/authorize, no será redirigido a tu
callback_url, sino que verá una pantalla con un PIN de aproximadamente 7 dígitos generado por X con instrucciones para ingresar el PIN en tu aplicación. -
El usuario ingresa este PIN en tu aplicación, y tu aplicación usa el número de PIN como el
oauth_verifieren el POST oauth/access_token para obtener un access_token.
Nota: Los números PIN no son reutilizables, y el
access_token obtenido debe usarse para las solicitudes application-user.