- SDK móviles de Auth0 y SDK de aplicaciones de una sola página de Auth0: La forma más sencilla de implementar el flujo, ya que se encargan de casi todo por usted. Nuestros Quickstarts para móviles y Quickstarts para aplicaciones de una sola página le guiarán en el proceso.
- Authentication API: Si prefiere crear su propia solución, siga leyendo para aprender a llamar a nuestra API directamente.
/userinfo de Auth0 o a sus propias API protegidas. Para obtener más información sobre los tokens de ID, lea ID Tokens. Para obtener más información sobre los tokens de acceso, lea Access Tokens.
Requisitos previos
- Selecciona Native o Single-Page App como Tipo de aplicación, según corresponda a tu aplicación.
- Agrega
YOUR_CALLBACK_URLcomo URL de devolución de llamada permitida. El formato de la URL de devolución de llamada variará según el tipo de aplicación y la plataforma. Para obtener más información sobre el formato correspondiente a tu tipo de aplicación y plataforma, consulta nuestros Quickstarts de Native/Mobile y Quickstarts para aplicaciones de una sola página. - Asegúrate de que los Tipos de concesión de tu aplicación incluyan Código de autorización. Para obtener más información, consulta Actualizar tipos de concesión.
Crear un verificador de código
code_verifier, que es una clave aleatoria generada criptográficamente y codificada en Base64, que posteriormente se enviará a Auth0 para solicitar tokens.
Para obtener más información sobre el algoritmo para crear el code_verifier, lea la sección 4.1 El cliente crea un verificador de código de la especificación Proof Key for Code Exchange.
Ejemplo de JavaScript
Ejemplo de Java
Ejemplo para Android
Ejemplo en Swift 5
Ejemplo en Objective-C
Crear un desafío de código
code_challenge a partir del code_verifier, que se enviará a Auth0 para solicitar un authorization_code.
Para obtener más información sobre cómo se deriva el code_challenge del code_verifier, consulta la sección 4.2 Client Creates the Code Challenge de la especificación OAuth Proof Key for Code Exchange.
Ejemplo de JavaScript
Ejemplo en Java
Ejemplo de Swift 5
Ejemplo en Objective-C
authorization_code.
Una vez que hayas creado el code_verifier y el code_challenge, debes obtener la autorización del usuario. Técnicamente, este es el comienzo del , y 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;
- Comprobar si hay sesiones activas de inicio de sesión único (SSO);
- Obtener el consentimiento del usuario para el nivel de permisos solicitado, a menos que ya lo haya otorgado previamente.
code_challenge que generaste en el paso anterior y el método que utilizaste para generarlo.
Parámetros
Como ejemplo, el fragmento HTML de su URL de autorización al agregar login a su aplicación podría verse así:
Respuesta
HTTP 302. El código de autorización se incluye al final de la URL:
Solicita tokens
authorization_code y code_verifier por 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, deberás enviar una solicitud POST a la URL del token junto con el code_verifier.
Ejemplo de solicitud POST a la URL del token
Parámetros
Respuesta
access_token, refresh_token, id_token y token_type:
refresh_token solo estará presente en la respuesta si incluyó el scope offline_access y habilitó Allow Offline Access para su API en el Dashboard.
Casos de uso
Solicitud de autenticación básica
Solicitar el nombre y la foto de perfil del usuario
Solicitar el inicio de sesión de usuarios con GitHub
connection y establecer su valor en el nombre de la conexión (en este caso, github) al autorizar al usuario:
Ahora, cuando solicites tokens, tu token de ID contendrá un claim sub con el id único del usuario que devuelve GitHub. Cuando decodifiques el token de ID, se verá de forma similar a: