Saltar al contenido principal
Los perfiles de definen el formato y los claims de los tokens de acceso emitidos para una API. Auth0 admite los siguientes perfiles de token de acceso, también conocidos como dialectos de token:
Perfil de tokenDescripciónDialecto de token
Perfil de token de Auth0El perfil de token predeterminado. Emite tokens de acceso con formato de JSON Web Token (JWT).El perfil de token de Auth0 está asociado a dos dialectos de token:
  • access_token
  • access_token_authz, o el perfil access_token con el claim permissions incluido
Perfil de token RFC 9068Emite tokens de acceso con formato JSON Web Token (JWT) según el estándar de IETF para codificar tokens de acceso de OAuth 2.0 en formato JWT.El perfil de token RFC 9068 está asociado a dos dialectos de token:
  • rfc9068_profile
  • rfc9068_profile_authz, o el perfil rfc9068_profile con el claim permissions incluido
Aunque ambos perfiles de token de acceso emiten , estos JWT tienen formatos de token diferentes. Ambos perfiles de token de acceso pueden habilitar el control de acceso basado en roles (RBAC) y agregar el claim permissions al token de acceso. Para configurar el perfil de token de acceso de una API, consulta Configurar el perfil de token de acceso.

Token de ejemplo del perfil de Auth0

{
  "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",
  "my_custom_claim": "my_custom_value"
}

Token de ejemplo del perfil RFC 9068

{
  "iss": "https://my-domain.auth0.com/",
  "sub": "auth0|123456",
  "aud": [
    "https://example.com/health-api",
    "https://my-domain.auth0.com/userinfo"
  ],
  "client_id": "my_client_id",
  "exp": 1311281970,
  "iat": 1311280970,
  "jti":"73WakrfVbNJBaAmhQtEeDv",
  "scope": "openid profile read:patients read:admin",
  "my_custom_claim": "my_custom_value"
}

Diferencias entre perfiles de token

El perfil de Auth0 y el perfil RFC 9068 emiten JWT con formatos diferentes. Las principales diferencias son:
  • El perfil RFC 9068 incorpora el claim jti, que proporciona un identificador único para el JWT.
  • El perfil de Auth0 usa el claim azp para representar el , mientras que el perfil RFC 9068 usa el claim client_id.
  • El perfil RFC 9068 no usa el claim gty, que es un claim específico de Auth0 que representa el flujo de autenticación.
DatoPerfil RFC 9068Perfil de Auth0
typeat+jwtJWT
algAlgoritmo de firma, por ejemplo, RS256Algoritmo de firma, por ejemplo, RS256

Claims

ClaimDescripciónPresente en el perfil RFC 9068Presente en el perfil de Auth0Claim de ejemplo
issIdentificador del emisor correspondiente al inquilino de Auth0 que emite el token de acceso.Dominio del Tenant: https://tenant.auth0.com/
subLa claim de sujeto indica a qué usuario o aplicación se emitió el token de acceso:
- En las concesiones en las que interviene un usuario final (p. ej., Flujo de código de autorización), la claim sub es el user_id.
- En las aplicaciones de máquina a máquina que usan credenciales de cliente (sin usuario final), la claim sub es un identificador único de la aplicación.
* ID de usuario: auth0|6553da60a54af58e29493993
- ID de cliente con sufijo: awZfdIir8YFdGZWkvCejDoUb7SjTDicx@clients
audEl claim audience define el destinatario previsto del token de acceso."https://test-server/api" o [ "https://test-server/api", "https://test.local.dev.auth0.com/userinfo" ]
client_idID de cliente de la aplicación que solicita el token de acceso.NoID de cliente: K1AUPhZq8mRi0Q0pjhkfu1D7y6KjDQja
azpID de cliente de la aplicación que solicita el token de acceso.NoID de cliente: K1AUPhZq8mRi0Q0pjhkfu1D7y6KjDQja
expLa fecha y hora de expiración a partir de la cual no debe aceptarse el token de acceso.Marca temporal de Unix: 1516238022
iatMarca temporal en la que se emitió el token de acceso.Marca de tiempo Unix: 1516239022
scopeAlcance del token de acceso emitido. Consulte Scopes."openid profile offline_access"
jtiIdentificador único del token de acceso.NoIdentificador único de cadena: aBv9njtYfwL4xfPZyEwz9m
gtyTipo de concesión utilizado para solicitar el token de acceso. Solo aparece para client-credentials, password y refresh_token.NoDepende del casoTipo de concesión: password, client-credentials
permissionsPermisos disponibles en función de los roles. Se incluye cuando Habilitar RBAC y Agregar permisos en el Token de acceso están habilitados. Consulte RBAC para API.Depende del casoDepende del caso[ "create:bar", "create:foo", "read:bar", "read:foo" ]
org_idID de la organización. Se añade cuando el usuario se autentica mediante una organización. Consulta Tokens y organizaciones.Según el casoSegún el casoID de la organización: org_9ybsU1dN2dKfDkBi
org_nameNombre de la organización. Se agrega cuando el usuario se autentica a través de una organización y está habilitada la opción Nombres de organización en Authentication API. Consulta Usar nombres de organización.Según el casoSegún el casoNombre de la organización: my_organization
authorization_detailsDetalles de autorización utilizados en las solicitudes de autorización enriquecida (RAR). Consulte RAR.Según el casoSegún el caso{ "type": "money_transfer", "instructedAmount": {"amount": 2500, "currency": "USD"}, "destinationAccount": "xxxx9876", "beneficiary": "Hanna Herwitz" }
cnfClaim de confirmación para Token Binding de mTLS.Según el casoSegún el caso{"x5t#S256":"A4DtL2JmUMhAsvJj5tKyn64SqzmuXbMrJa0n761y5v0"}
Claims personalizadosSe pueden agregar claims personalizados mediante Actions. Consulte Crear claims personalizados.Según el casoSegún el caso"favorite_color": "blue"