Saltar al contenido principal

Descripción general

Conceptos clave
  • Obtenga información sobre la autenticación basada en tokens.
  • Lea cómo Auth0 usa tokens de acceso JSON Web Token (JWT) autocontenidos que se ajustan a la estructura JSON con claims estándar.
  • Revise el ejemplo de token de acceso proporcionado y los parámetros necesarios.
  • Configure la duración del token de acceso según el valor predeterminado.
se usan en la autenticación basada en tokens para permitir que una aplicación acceda a una API. La aplicación recibe un token de acceso después de que un usuario se autentica correctamente y autoriza el acceso, y luego lo envía como credencial cuando llama a la API de destino. El token enviado informa a la API de que el portador del token ha sido autorizado para acceder a la API y realizar las acciones específicas definidas por el concedido durante la autorización. Además, si ha elegido permitir que los usuarios inicien sesión mediante un , como Facebook, el emitirá su propio token de acceso para permitir que su aplicación llame a la API del IdP. Por ejemplo, si su usuario se autentica con Facebook, el token de acceso emitido por Facebook puede usarse para llamar a la Facebook Graph API. Estos tokens los controla el IdP y pueden emitirse en cualquier formato. Consulte Tokens de acceso del proveedor de identidad para obtener más información.

Tokens de acceso opacos

Los tokens de acceso opacos son tokens en un formato propietario cuyo contenido no puede consultarse y que normalmente contienen algún identificador de información almacenada de forma persistente en un servidor. Para validar un token opaco, el receptor del token debe llamar al servidor que lo emitió. En el caso de Auth0, los tokens opacos pueden usarse con el endpoint /userinfo para devolver el perfil de un usuario. Si recibe un Token de acceso opaco, no necesita validarlo. Puede usarlo con el endpoint /userinfo y Auth0 se encarga del resto. Para obtener más información, consulte Get Access Tokens.

Tokens de acceso JWT

(JWT) Los tokens de acceso se ajustan al estándar JWT y contienen información sobre una entidad en forma de claims. Son autocontenidos, por lo que no es necesario que el destinatario llame a un servidor para validar el token. Los tokens de acceso emitidos para la y los tokens de acceso emitidos para cualquier API personalizada que haya registrado con Auth0 siguen el estándar JWT, lo que significa que su estructura básica se ajusta a la estructura típica de un JWT y que contienen claims estándar de JWT sobre el propio token.

Tokens de acceso de la Management API

Un token de acceso emitido para Auth0 Management API debe tratarse como opaco (independientemente de que realmente lo sea o no), así que no es necesario validarlo. Puede usarlo con Auth0 Management API y Auth0 se encarga del resto. Para obtener más información, consulte Tokens de Auth0 Management API.

Tokens de acceso para API personalizadas

Si falla la validación de tu token de acceso para API personalizada, asegúrate de que se haya emitido con tu API personalizada como valor de audience. Para obtener más información, consulta Obtener tokens de acceso.

Ejemplo de token de acceso

Este ejemplo muestra el contenido de un token de acceso. Tenga en cuenta que el token solo contiene información de autorización sobre las acciones que la aplicación puede realizar en la API (estos permisos se denominan scopes).
{
  "iss": "https://my-domain.auth0.com/",
  "sub": "auth0|123456",
  "aud": [
    "https://example.com/health-api",
    "https://my-domain.auth0.com/userinfo"
  ],
  "azp": "my_client_id",
  "exp": 1311281970,
  "iat": 1311280970,
  "scope": "openid profile read:patients read:admin"
}
El token no contiene ninguna información sobre el usuario, salvo el ID de usuario (ubicado en el claim sub). En muchos casos, puede ser útil obtener información adicional del usuario. Puede hacerlo llamando al endpoint de la API de userinfo con el Token de acceso. Asegúrese de que la API para la que se emite el Token de acceso use el algoritmo de firma RS256.

Seguridad de los tokens de acceso

Debe seguir las prácticas recomendadas para los tokens al usar tokens de acceso y, en el caso de los JWT, asegúrese de validar un token de acceso antes de asumir que su contenido es confiable.

Duración del token de acceso

Duración del token de acceso de la API personalizada

De forma predeterminada, un token de acceso para una API personalizada es válido durante 86400 segundos (24 horas). Le recomendamos que establezca el período de validez de su token en función de los requisitos de seguridad de su API. Por ejemplo, un token de acceso para una API bancaria debería expirar antes que uno para una API de lista de tareas. Para obtener más información, consulte Actualizar la duración del token de acceso.

Duración del token para el endpoint /userinfo

Los tokens de acceso emitidos exclusivamente para acceder al endpoint OIDC /userinfo tienen una duración predeterminada que no puede modificarse. La duración depende del flujo utilizado para obtener el token:
FlujoDuración
Implícito7200 segundos (2 horas)
Código de autorización/Híbrido86400 segundos (24 horas)

Más información