Saltar al contenido principal
Auth0 aplica controles de seguridad reforzados a las aplicaciones de terceros para garantizar lo siguiente:
  • Seguridad a nivel de protocolo: Cumplir con las prácticas recomendadas de OAuth 2.1 para garantizar flujos de autorización modernos y seguros.
  • Alcance de las funcionalidades: Garantizar que las aplicaciones externas solo puedan acceder a los recursos que autorices explícitamente.
Auth0 refuerza periódicamente la seguridad de las aplicaciones de terceros. En producción, solo deben usarse las funcionalidades documentadas explícitamente como compatibles. Las funcionalidades no compatibles pueden modificarse o restringirse sin previo aviso en futuras actualizaciones.

Estándares de OAuth 2.1

Las aplicaciones de terceros siguen estándares modernos de OAuth:
  • PKCE obligatorio: Todos los flujos de código de autorización requieren Proof Key for Code Exchange. Esto evita ataques de interceptación del código de autorización.
  • Tipos de concesión compatibles: authorization_code, refresh_token y client_credentials.
  • Tipos de concesión implícito y de contraseña no compatibles: Estos tipos de concesión heredados, que exponen tokens en la URL del navegador o requieren gestionar credenciales directamente, no están disponibles para aplicaciones de terceros.

Autorización explícita de la API

Las aplicaciones de terceros siempre requieren un concesión de cliente para acceder a cualquier API, independientemente de la política de acceso de la API.
Política de acceso a la APIAplicaciones propiasAplicaciones de terceros
Permitir todoAcceso concedidoRequiere concesión de cliente
Requerir concesión de clienteRequiere concesión de clienteRequiere concesión de cliente
DenegarAcceso denegadoAcceso denegado
Las aplicaciones de terceros deben tener un concesión de cliente explícito, incluso cuando una API está configurada con una política de Permitir todo. Puede configurar permisos por aplicación o permisos predeterminados para aplicaciones de terceros. No se puede conceder acceso a las aplicaciones de terceros a APIs del sistema, como Management API o My Account API.

De máquina a máquina (credenciales de cliente)

Las aplicaciones de terceros admiten el tipo de concesión client_credentials para el acceso de máquina a máquina. Esto permite integraciones de backend con socios y acceso a API de servidor a servidor sin participación del usuario. Requisitos y restricciones:
  • Tipo de cliente: la aplicación debe ser un cliente confidencial (token_endpoint_auth_method no debe ser none).
  • Organizaciones: se admite el acceso de máquina a máquina con Organizaciones. Se requiere una concesión de cliente de organización explícita para cada organización. La opción allow_any_organization no está permitida para aplicaciones de terceros. Las concesiones de cliente predeterminadas para aplicaciones de terceros no se pueden usar para configurar organization_usage.
  • No está disponible para aplicaciones creadas mediante Registro dinámico de clientes o CIMD.
Extensibilidad:
  • Las Actions con el trigger credentials-exchange se ejecutan con normalidad en los flujos de acceso de máquina a máquina.

Configuración restringida del cliente

Solo se puede configurar un conjunto limitado de propiedades del cliente para aplicaciones de terceros. Cuando se agregan nuevas propiedades a Auth0, no están disponibles para aplicaciones de terceros a menos que se revisen explícitamente y se añadan al conjunto admitido. Entre las principales propiedades admitidas se incluyen:
PropiedadNotas
name, description, logo_uriMetadatos básicos
callbacksURI de redirección
allowed_origins, web_originsOrígenes de CORS y de web_message
grant_typesDebe ser authorization_code, refresh_token o client_credentials
token_endpoint_auth_methodMétodo de autenticación para el endpoint de token
app_typeDebe ser regular_web, spa, native o non_interactive
client_metadataMetadatos personalizados de clave-valor
jwt_configuration.lifetime_in_secondsTiempo de vida del token de acceso (el valor predeterminado es 3600)
jwt_configuration.algAlgoritmo de firma (debe ser RS256; HS256 no es compatible)
refresh_token.*Configuración de rotación, expiración, tolerancia y duración
client_authentication_methodsJWT de clave privada (private_key_jwt únicamente; sin mTLS)
require_proof_of_possessionConfiguración de DPoP
redirection_policyComportamiento de redirección para flujos de error y plantillas de correo electrónico
Para consultar la lista completa de propiedades admitidas, consulte el endpoint Create a Client en la referencia de la Management API.

Formato del ID de cliente

Las aplicaciones de terceros tienen un client_id con el prefijo tpc_ asignado en el momento de su creación. Este prefijo permite a Auth0 clasificar y gestionar por separado el tráfico de aplicaciones de terceros, incluidos los límites de tasa para estas aplicaciones. El modo de seguridad y la titularidad de la aplicación son decisiones de diseño permanentes:
  • third_party_security_mode no se puede cambiar después de la creación.
  • Las aplicaciones de terceros no se pueden convertir en aplicaciones propias, ni viceversa.

Configuración del token de actualización

Las aplicaciones de terceros imponen una configuración segura para los tokens de actualización:
  • Expiración obligatoria: No se admiten los tokens de actualización sin vencimiento. No se admite una duración de inactividad infinita.
  • Rotación habilitada de forma predeterminada para clientes públicos: Las SPA y las aplicaciones nativas de terceros tienen habilitada de forma predeterminada la rotación de tokens de actualización, en consonancia con los requisitos de OAuth 2.1 y MCP.
  • Configurable: Los administradores pueden ajustar la rotación, el margen de tolerancia y la duración para las aplicaciones de terceros creadas manualmente.

Protección contra redirecciones

La propiedad redirection_policy controla cómo Auth0 gestiona las redirecciones para aplicaciones de terceros. Acepta dos valores:
ValorComportamiento
open_redirect_protection (valor predeterminado para aplicaciones de terceros)Auth0 no redirige al callback de la aplicación cuando se producen errores de autenticación. La variable application.callback_domain no se expone en las plantillas de correo electrónico.
allow_alwaysComportamiento de redirección estándar.
Las redirecciones sin interacción del usuario pueden ser un vector de ataque de phishing cuando la URI de redirección está controlada por un tercero no confiable (redirección abierta). Establezca redirection_policy en allow_always solo para aplicaciones cuyas URI de callback configuradas sean confiables. Cuando open_redirect_protection está activa:
  • Los errores de autenticación muestran una página de error en lugar de redirigir a la aplicación.
  • Las plantillas de correo electrónico (verificación de correo electrónico, restablecimiento de contraseña, usuario bloqueado) no tendrán acceso a {{ application.callback_domain }}, por lo que debe configurarse un valor de respaldo junto con cualquier uso de {{ application.callback_domain }}. Por ejemplo:
{% if application.callback_domain == '' %}
  https://YOUR_FALLBACK_DOMAIN
{% endif %}
{% if application.callback_domain != '' %}
  {{ application.callback_domain }}/result-page
{% endif %}

Validación de parámetros de /authorize

Auth0 valida los parámetros enviados al endpoint /authorize para aplicaciones de terceros. Solo se aceptan parámetros estándar de OAuth 2.0 y OpenID Connect. Parámetros permitidos:
  • acr_values
  • audience
  • authorization_details
  • client_id
  • code_challenge
  • code_challenge_method
  • connection
  • correlation_id
  • display
  • dpop_jkt
  • ext-* (parámetros personalizados)
  • login_hint
  • max_age
  • nonce
  • prompt
  • redirect_uri
  • resource
  • response_type
  • scope
  • state
  • ui_locales
No admitidos:
  • claims
  • id_token_hint
  • invitation
  • login_ticket
  • request (JAR)
  • request_uri (PAR)
  • screen_hint
Las solicitudes que incluyen parámetros no admitidos devuelven un error invalid_request.

Compatibilidad con versiones anteriores

Es posible que algunos inquilinos que usaban aplicaciones de terceros antes de abril de 2026 tengan aplicaciones que operen con configuraciones de seguridad distintas para garantizar la compatibilidad con versiones anteriores. Para obtener más información, consulte Modo permisivo para aplicaciones de terceros.

Funciones no compatibles

Las siguientes funciones no son compatibles con las aplicaciones de terceros:
FunciónEstado
alcances de OIDC y tokens de IDNo se admite. Está previsto para una versión futura.
endpoint /userinfoNo se admite.
API del sistema de Auth0 (Management API, MFA API, My Account API, My Orgs API)No se admite. Las aplicaciones de terceros no pueden acceder a las API del sistema en los flujos de usuario.
MFA durante el intercambio de un Token de actualizaciónNo se admite. Las transacciones de Token de actualización que activen MFA producirán un error.
RulesNo se admite. Los inquilinos con Rules activas recibirán un error cuando una aplicación estricta de terceros active un flujo de inicio de sesión.
Hooks (credentials-exchange)No se admite. Los inquilinos con un Hook credentials-exchange activo recibirán un error. Migre a Actions para la extensibilidad de credentials-exchange.
endpoints no OAuth de Authentication API (/dbconnections/*, /passwordless/*)No se admite.
endpoints heredados (/delegation, /oauth/ro)No se admite.
SAML, WsFedNo se admite.
Classic LoginNo se admite. Use Universal Login.
PAR, CIBA, Device CodeNo se admite. Está previsto para una versión futura.
endpoints de cierre de sesiónNo se admite. Use POST /oauth/revoke para revocar tokens.
autenticación de origen cruzadoNo se admite.
cierre de sesión por canal secundarioNo se admite. Está previsto para una versión futura.
importación del ID de clienteNo se admite.
subdominios comodín en las URLNo se admite. Las URL de devolución de llamada, los orígenes permitidos y los orígenes web deben usar URL exactas.

Más información