Autentique a un usuario y solicite claims estándar
-
Inicie el flujo de autenticación enviando al usuario a la URL de autorización:
Tenga en cuenta que, en este ejemplo:
-
El parámetro
response_typeincluye un valor:code: como estamos usando el flujo de aplicación web tradicional, nuestra solicitud inicial es para un código de autorización; cuando solicitemos los tokens con este código, recibiremos el token de ID que necesitamos para la autenticación.
-
El parámetro
scopeincluye tres valores: los alcances de OIDC solicitados.openid: para indicar que la aplicación pretende usar OIDC para verificar la identidad del usuario.profile: para obtenername,nicknameypicture.email: para obteneremailyemail_verified.
-
El parámetro
- Después de que el usuario otorgue su consentimiento (si es necesario) y Auth0 redirija a su aplicación, solicite los tokens.
- Extraiga el token de ID de la respuesta y decodifíquelo. Debería ver los siguientes claims: Su aplicación ahora puede recuperar los atributos del usuario y usarlos para personalizar su interfaz de usuario.
Solicitar acceso a una API personalizada
-
Inicia el flujo de autorización enviando al usuario a la URL de autorización:
Observa que en este ejemplo:
-
El parámetro
response_typesigue incluyendo un valor:code: como estamos usando el flujo habitual para aplicaciones web, nuestra solicitud inicial es para un código de autorización; cuando solicitemos nuestros tokens con este código, recibiremos el Token de acceso que podremos usar para llamar a nuestra API.
-
el parámetro
scopeincluye un valor: el scope de API solicitado:read:appointments: para permitirnos leer las citas del usuario desde la API.
-
El parámetro
audiencees nuevo e incluye un valor:- El identificador único de la API de la que queremos leer las citas del usuario.
-
El parámetro
- Como en el ejemplo anterior, después de que el usuario otorgue su consentimiento (si es necesario) y Auth0 redirija de vuelta a tu aplicación, solicita los tokens.
- Extrae el token de acceso de la respuesta y llama a la API usando el token de acceso como credencial.
Autentique a un usuario y solicite claims estándar y acceso a una API personalizada
-
token de ID que contiene:
- nombre del usuario
- apodo
- imagen de perfil
- información del correo electrónico
- token de acceso que contiene el scope adecuado para leer citas desde la API. Tenga en cuenta que solicitar un token de acceso no depende de solicitar un token de ID.
-
Inicie el flujo de autenticación enviando al usuario a la URL de autorización:
Tenga en cuenta que, en este ejemplo:
-
El parámetro
response_typesigue incluyendo un valor:code: como estamos usando el flujo para aplicaciones web tradicionales, nuestra solicitud inicial es para un código de autorización; cuando solicitemos los tokens con este código, recibiremos tanto el token de ID que necesitamos para la autenticación como el token de acceso que podemos usar para llamar a nuestra API.
-
El parámetro
scopese usa tanto para alcances de OIDC como para alcances de API, por lo que ahora incluye cuatro valores:openid: para indicar que la aplicación tiene previsto usar OIDC para verificar la identidad del usuario.profile: para obtenername,nicknameypicture.email: para obteneremailyemail_verified.read:appointments: para permitirnos leer las citas del usuario desde la API.
-
El parámetro
audienceincluye un valor:- El identificador único de la API desde la que queremos leer las citas del usuario
-
El parámetro
- Como en los ejemplos anteriores, después de que el usuario otorgue su consentimiento (si es necesario) y Auth0 lo redirija de vuelta a su aplicación, solicite los tokens.
- Extraiga el token de ID de la respuesta, descodifíquelo, recupere los atributos del usuario y úselos para personalizar su interfaz de usuario.
- Extraiga el token de acceso de la respuesta y llame a la API usando el token de acceso como credencial.
Agregar claims personalizadas a un token
/userinfo (aunque la Action solo se ejecutará durante el proceso de autenticación).
Auth0 permite claims con espacio de nombres y sin espacio de nombres, pero se aplican ciertas restricciones (consulta Restricciones generales). Para evitar colisiones de nombres, recomendamos usar claims con espacio de nombres. En caso de colisión, la transacción no fallará, pero tu claim personalizada no se añadirá a tus tokens.
- En algún momento, el usuario seleccionó un método
preferred_contactdeemaily unfavorite_colordered, y los guardamos como parte deluser_metadatadel usuario. - Hemos usado la Management API o el Dashboard para establecer información específica de la aplicación para este usuario.
- El claim
subcontiene el valor de la propiedaduser_id. - Ni la propiedad
favorite_colorni la propiedaduser_metadataaparecen porque Connect (OIDC) no define claims estándar que representenfavorite_colorouser_metadata.
- Ve a Auth0 Dashboard > Actions > Library y selecciona Build Custom.
-
Introduce un Nombre descriptivo para tu Action (por ejemplo,
Add user metadata to tokens), selecciona el desencadenadorLogin / Post Loginporque vas a añadir la Action al flujo de inicio de sesión y, a continuación, selecciona Create. -
Busca el editor de código de Actions, copia en él el siguiente código JavaScript y selecciona Save Draft para guardar los cambios:
- En la barra lateral del editor de código de Actions, selecciona Test (icono de reproducción) y, después, selecciona Run para probar tu código.
- Cuando tengas lista la Action para ponerla en producción, selecciona Deploy.
favorite_color y preferred_contact en el token de ID:
api.idToken.setCustomClaims. Para agregar estos claims a un Token de acceso, usa el método api.accessToken.setCustomClaim.
Para obtener más información sobre el objeto de evento del trigger, consulta Actions Triggers: post-login - Event Object. Para obtener más información sobre los tokens, consulta Tokens.