Skip to main content
Puedes incorporar el inicio de sesión a tu aplicación web tradicional mediante el Flujo de Código de Autorización. Para saber cómo funciona este flujo y por qué te conviene usarlo, lee Authorization Code Flow. Para llamar a tu API desde una aplicación web tradicional, lee Call Your API Using the Authorization Code Flow. Para implementar el Flujo de Código de Autorización, Auth0 ofrece los siguientes recursos: Después de iniciar sesión correctamente, tu aplicación tendrá acceso al y al del usuario. El token de ID contiene información básica del perfil del usuario, y el token de acceso puede usarse para llamar al endpoint /userinfo de Auth0 o a tus propias API protegidas. Para obtener más información sobre los tokens de ID, lee ID Tokens. Para obtener más información sobre los tokens de acceso, lee Access Tokens. Solicitarás la autorización del usuario y lo redirigirás de nuevo a tu aplicación con un authorization_code. Después, intercambiarás el código por tokens.

Requisitos previos

Registra tu aplicación en Auth0. Para obtener más información, consulta Registrar aplicación web tradicional.
  • Selecciona Regular Web App como Tipo de aplicación.
  • Agrega una URL de callback permitida de {https://yourApp/callback}.
  • Asegúrate de que los Tipos de concesión de tu aplicación incluyan Authorization Code. Para obtener más información, consulta Actualizar tipos de concesión.

Autorizar al usuario

Para iniciar el flujo, deberás obtener la autorización del usuario. Este paso puede incluir uno o más de los siguientes procesos:
  • Autenticar al usuario;
  • Redirigir al usuario a un para gestionar la autenticación;
  • Obtener el consentimiento del usuario para el nivel de permisos solicitado, a menos que ya lo haya otorgado previamente.
Para autorizar al usuario, tu aplicación debe dirigirlo a la URL de autorización.

Ejemplo de URL de autorización

Parámetros

Como ejemplo, el fragmento HTML de tu URL de autorización al añadir el inicio de sesión a tu aplicación podría verse así:

Respuesta

Si todo sale bien, recibirás una respuesta HTTP 302. El código de autorización aparece al final de la URL:

Solicitar tokens

Ahora que tienes un código de autorización, debes intercambiarlo por tokens. Con el código de autorización (code) extraído en el paso anterior, tendrás que enviar una solicitud POST a la URL del token.

Ejemplo de solicitud POST a la URL del token

Parámetros

Respuesta

Si todo va bien, recibirás una respuesta HTTP 200 con una carga que incluye los valores access_token, refresh_token, id_token y token_type:
Valida tus tokens antes de guardarlos. Para saber cómo hacerlo, consulta Validar tokens de ID y Validar tokens de acceso.
Los tokens de ID contienen información del usuario que debe decodificarse y extraerse. Los tokens de acceso se utilizan para llamar al endpoint /userinfo de la API de autenticación de Auth0 o a otra API. Si estás llamando a tu propia API, lo primero que deberá hacer es verificar el token de acceso. Los Refresh tokens se utilizan para obtener un nuevo token de acceso o token de ID después de que el anterior haya expirado. El refresh_token solo estará presente en la respuesta si incluiste el scope offline_access y habilitaste Allow Offline Access para tu API en el Dashboard.
Los Refresh tokens deben almacenarse de forma segura, ya que permiten que un usuario permanezca autenticado prácticamente de forma indefinida.

Casos de uso

Solicitud básica de autenticación

Este ejemplo muestra la solicitud más básica que puedes hacer al autorizar al usuario en el paso 1. Muestra la pantalla de inicio de sesión de Auth0 y permite al usuario iniciar sesión con cualquiera de las conexiones que hayas configurado: Ahora, cuando solicites tokens, tu token de ID contendrá los claims más básicos. Cuando decodifiques el token de ID, se verá similar a esto:

Solicitar el nombre y la foto de perfil del usuario

Además de la autenticación habitual del usuario, este ejemplo muestra cómo solicitar datos adicionales del usuario, como su nombre y su foto de perfil. Para solicitar el nombre y la foto de perfil del usuario, debes añadir los scopes adecuados al autorizar al usuario: Ahora, cuando solicites tokens, tu token de ID contendrá los claims de nombre e imagen que solicitaste. Al decodificarlo, se verá similar a:

Solicita al usuario que inicie sesión con GitHub

Además de la autenticación habitual del usuario, este ejemplo muestra cómo redirigir a los usuarios directamente a un proveedor de identidad social, como GitHub. Primero tendrás que configurar la conexión adecuada en Auth0 Dashboard > Authentication > Social y obtener el nombre de la conexión en la pestaña Settings. Para enviar a los usuarios directamente a la pantalla de inicio de sesión de GitHub, debes pasar el parámetro connection y asignarle como valor el nombre de la conexión (en este caso, github) al autorizar al usuario en el paso 1: Ahora, cuando solicites tokens, tu token de ID contendrá una claim sub con el identificador único del usuario que devuelve GitHub. Cuando decodifiques el token de ID, tendrá un aspecto similar a:

Más información