Saltar al contenido principal
En los dispositivos con entrada limitada que se conectan a Internet, en lugar de autenticar al usuario directamente, el dispositivo le pide que vaya a un enlace desde su computadora o smartphone y autorice el dispositivo. Esto evita una mala experiencia de usuario en dispositivos que no ofrecen una forma sencilla de introducir texto. Para ello, las aplicaciones de dispositivo usan el flujo de de dispositivos (ratificado en OAuth 2.0), en el que envían su para iniciar el proceso de autorización y obtener un token.

Cómo funciona

El flujo de autorización de dispositivos consta de dos rutas distintas: una tiene lugar en el dispositivo que solicita la autorización y la otra en un navegador. El flujo en el navegador, en la que un code de dispositivo se vincula a la sesión del navegador, ocurre en paralelo con parte de la ruta del flujo del dispositivo.
Flujos - Autorización de dispositivos - Diagrama de secuencia de autorización

Flujo de dispositivos

  1. El usuario inicia la aplicación en el dispositivo.
  2. La aplicación del dispositivo solicita autorización al Servidor de autorización de Auth0 con su ID de cliente (endpoint /oauth/device/code).
  3. El Servidor de autorización de Auth0 responde con un device_code, user_code, verification_uri, verification_uri_complete, expires_in (tiempo de vida en segundos de device_code y user_code) y el interval de sondeo.
  4. La aplicación del dispositivo le pide al usuario que la active con su computadora o smartphone. La aplicación puede hacerlo de las siguientes maneras:
    • pedirle al usuario que visite verification_uri e introduzca el user_code después de mostrar estos valores en pantalla
    • pedirle al usuario que interactúe con un código QR o una URL abreviada con el código de usuario integrado, generados a partir de verification_uri_complete
    • navegar directamente a la página de verificación con el código de usuario integrado mediante verification_uri_complete, si se ejecuta de forma nativa en un dispositivo basado en navegador
  5. La aplicación del dispositivo comienza a consultar periódicamente su Servidor de autorización de Auth0 para obtener un Token de acceso (endpoint /oauth/token) usando el período especificado por interval y contando desde la recepción de la respuesta a la última solicitud de sondeo. La aplicación del dispositivo sigue consultando hasta que el usuario complete el flujo en el navegador o el código de usuario caduque.
  6. Cuando el usuario completa correctamente el flujo en el navegador, su Servidor de autorización de Auth0 responde con un Token de acceso (y, opcionalmente, un Token de actualización). La aplicación del dispositivo debe descartar su device_code, ya que expirará.
  7. La aplicación del dispositivo puede usar el Token de acceso para llamar a una API y acceder a información sobre el usuario.
  8. La API responde con los datos solicitados.

Flujo del navegador

  1. El usuario visita la verification_uri en su equipo, introduce el user_code y confirma que el dispositivo que se está activando muestra el user_code. Si el usuario visita la verification_uri_complete por cualquier otro medio (por ejemplo, escaneando un código QR), solo será necesaria la confirmación del dispositivo.
  2. Su Servidor de autorización de Auth0 redirige al usuario a las pantallas de inicio de sesión y consentimiento, si es necesario.
  3. El usuario se autentica con una de las opciones de inicio de sesión configuradas y puede ver una página de consentimiento en la que se le pide que autorice la aplicación del dispositivo.
  4. La aplicación del dispositivo queda autorizada para acceder a la API.

Cómo implementarlo

La forma más sencilla de implementar el flujo de autorización de dispositivos es seguir nuestro tutorial: Llamar a una API mediante el flujo de autorización de dispositivos.

Forzar la reautorización del dispositivo

Para forzar que el usuario vuelva a autorizar un dispositivo, debe revocar el asignado al dispositivo. Para saber cómo hacerlo, consulte Desvincular dispositivos de los usuarios. Tenga en cuenta que no se obligará al dispositivo a volver a autorizarse hasta que caduque el actual y la aplicación intente usar el Token de actualización revocado. Para obtener más información sobre los Tokens de actualización, consulte Tokens de actualización.

Más información