Saltar al contenido principal
Hay dos tipos de tokens relacionados con la identidad: y .

ID tokens

Los token de ID son JSON web tokens (JWTs) destinados exclusivamente al uso de la aplicación. Por ejemplo, si una aplicación usa Google para que los usuarios inicien sesión y para sincronizar sus calendarios, Google envía un token de ID a la aplicación que incluye información sobre el usuario. Luego, la aplicación analiza el contenido del token y usa esa información (incluidos detalles como el nombre y la foto de perfil) para personalizar la experiencia del usuario.
Asegúrese de validar los token de ID antes de usar la información que contienen. Puede usar una biblioteca para facilitar esta tarea.
No use token de ID para acceder a una API. Cada token contiene información para la prevista (que normalmente es el destinatario). Según la especificación de Connect, la audiencia del token de ID (indicada por el claim aud) debe ser el de la aplicación que realiza la solicitud de autenticación. Si no es así, no debe confiar en el token. El contenido decodificado de un token de ID tiene el siguiente aspecto: Este token autentica al usuario ante la aplicación. La audiencia (la claim aud) del token se establece en el identificador de la aplicación, lo que significa que solo esta aplicación específica debe consumir este token. Por el contrario, una API espera un token cuyo valor de aud sea igual al identificador único de la API. Por lo tanto, a menos que controles tanto la aplicación como la API, enviar un token de ID a una API por lo general no funcionará. Como el token de ID no está firmado por la API, la API no tendría forma de saber si la aplicación hubiera modificado el token (por ejemplo, añadiendo más alcances) si aceptara el token de ID. Consulta el JWT Handbook para obtener más información.

Tokens de acceso

Tokens de acceso (que no siempre son ) se utilizan para informar a una API de que el portador del token ha sido autorizado para acceder a la API y realizar un conjunto predeterminado de acciones (según los alcances concedidos). En el ejemplo de Google anterior, Google envía un token de acceso a la aplicación después de que el usuario inicia sesión y da su consentimiento para que la aplicación lea o escriba en su Google Calendar. Cada vez que la aplicación quiere escribir en Google Calendar, envía una solicitud a la API de Google Calendar e incluye el token de acceso en el encabezado HTTP Authorization. Los tokens de acceso nunca deben usarse para la autenticación. Los tokens de acceso no pueden indicar si el usuario se ha autenticado. La única información del usuario que contiene el token de acceso es el id del usuario, ubicado en el claim sub. En sus aplicaciones, trate los tokens de acceso como cadenas opacas, ya que están pensados para las API. Su aplicación no debe intentar decodificarlos ni esperar recibir tokens en un formato específico. Aquí tiene un ejemplo de un token de acceso: Tenga en cuenta que el token no contiene ninguna información sobre el usuario aparte de su ID (claim sub). Solo contiene información de autorización sobre las acciones que la aplicación puede realizar en la API (claim scope). Esto es lo que lo hace útil para proteger una API, pero no para autenticar a un usuario. En algunas situaciones, puede ser conveniente incluir información adicional sobre el usuario u otros claims personalizados, además del claim sub, en el token de acceso para evitar que la API tenga que hacer trabajo adicional para obtener detalles sobre el usuario. Si decide hacerlo, tenga presente que estos claims adicionales podrán leerse en el token de acceso. Para obtener más información, consulte Create Custom Claims.

Tokens especializados

Hay tres tokens especializados que se usan en los escenarios de autenticación basada en tokens de Auth0:
  • : Un token que se usa para obtener un nuevo token de acceso sin tener que volver a autenticar al usuario.
  • tokens de acceso: Tokens de acceso emitidos por proveedores de identidad después de la autenticación del usuario, que puede usar para llamar a APIs de terceros.
  • Auth0 tokens de acceso: Tokens de corta duración que contienen claims específicos (alcances) y le permiten llamar a los endpoints de la Management API.

Más información