- Express OpenID Connect SDK: La forma más sencilla de implementar el flujo, que se encargará de la mayor parte del trabajo por usted. Si usa nuestro SDK de Javascript, asegúrese de implementar mitigaciones adecuadas para su arquitectura. Para obtener más información, lea Referencia de Auth0.js v9.
- Authentication API: Si prefiere crear su propia solución, siga leyendo para aprender a llamar directamente a nuestra API.
Requisitos previos
- Selecciona Single-Page App como Application Type.
- Agrega una Allowed Callback URL de
{https://yourApp/callback}. - Asegúrate de que los tipos de concesión de tu aplicación incluyan Implicit. Para obtener más información, consulta Actualizar los tipos de concesión.
- Autenticar al usuario;
- Redirigir al usuario a un para gestionar la autenticación;
- Comprobar si hay sesiones activas de (SSO);
- Obtener el consentimiento del usuario para el nivel de permiso solicitado, a menos que ya lo haya otorgado previamente.
Parámetros
| Nombre del parámetro | Descripción |
|---|---|
response_type | Indica el tipo de credencial que devolverá Auth0 (code o token). Para el Flujo implícito, el valor puede ser id_token, token o id_token token. En concreto, id_token devuelve un ID Token y token devuelve un Token de acceso. |
response_mode | Especifica cómo deben devolverse los parámetros de respuesta. Por motivos de seguridad, el valor debe ser form_post. En este modo, los parámetros de respuesta se codifican como valores de un formulario HTML, se transmiten mediante el método HTTP POST y se codifican en el cuerpo con el formato application/x-www-form-urlencoded. |
client_id | El ID de cliente de su aplicación. Puede encontrar este valor en la configuración de la aplicación. |
redirect_uri | La URL a la que Auth0 redirigirá el navegador después de que el usuario haya concedido la autorización. Debe especificar esta URL como una URL de devolución de llamada válida en la configuración de la aplicación. Advertencia: Según la especificación de OAuth 2.0, Auth0 elimina todo lo que aparece después del hash y no tiene en cuenta ningún fragmento. |
scope | Especifica los alcances para los que desea solicitar autorización, que determinan qué claims (o atributos del usuario) desea recibir. Deben separarse con un espacio. Puede solicitar cualquiera de los scopes estándar de OpenID Connect (OIDC) relacionados con el usuario, como profile y email, claims personalizados que sigan un formato con espacio de nombres, o cualquier scope compatible con la API de destino (por ejemplo, read:contacts). |
state | (recomendado) Una cadena alfanumérica arbitraria y opaca que su aplicación agrega a la solicitud inicial y que Auth0 incluye al redirigir de vuelta a su aplicación. Para ver cómo usar este valor para prevenir ataques de Cross-site Request Forgery (CSRF), consulte Mitigate CSRF Attacks With State Parameters. |
nonce | (obligatorio para response_type que contenga id_token token; en caso contrario, recomendado) Una cadena aleatoria criptográficamente segura que su aplicación agrega a la solicitud inicial y que Auth0 incluye dentro del ID Token, utilizada para evitar ataques de repetición de tokens. |
connection | (opcional) Obliga al usuario a iniciar sesión con una conexión específica. Por ejemplo, puede pasar el valor github para enviar al usuario directamente a GitHub e iniciar sesión con su cuenta de GitHub. Si no se especifica, el usuario verá la pantalla de Auth0 Lock con todas las conexiones configuradas. Puede ver una lista de sus conexiones configuradas en la pestaña Connections de su aplicación. |
organization | (opcional) ID de la organización que se usará al autenticar a un usuario. Si no se proporciona y su aplicación está configurada para Display Organization Prompt, el usuario podrá introducir el nombre de la organización al autenticarse. |
invitation | (opcional) ID del ticket de invitación de la organización. Al invitar a un miembro a una Organización, su aplicación debe gestionar la aceptación de la invitación reenviando los pares clave-valor invitation y organization cuando el usuario la acepte. |
Respuesta
HTTP 302. Las credenciales solicitadas se codifican en el cuerpo:
response_type.
| Response Type | Components |
|---|---|
| id_token | ID Token |
| token | Token de acceso (más los valores expires_in y token_type) |
| id_token token | ID Token, Token de acceso (más los valores expires_in y token_type) |
state que hayas incluido en tu llamada a la URL de autorización.
Los ID Token contienen información del usuario que debe decodificarse y extraerse.
Casos de uso
Solicitud de autenticación básica
Solicitar el nombre y la foto de perfil del usuario
name y picture solicitadas. Cuando decodifiques el token de ID, tendrá un aspecto similar a este:
Solicitar que el usuario inicie sesión con GitHub
connection y establecer su valor con el nombre de la conexión (en este caso, github) al autorizar al usuario:
Ahora, tu ID Token contendrá un claim sub con el id único del usuario devuelto por GitHub. Cuando decodifiques el ID Token, tendrá un aspecto similar a: