Saltar al contenido principal
La fecha de fin de vida útil (EOL) de Rules y Hooks será el 18 de noviembre de 2026, y ya no están disponibles para nuevos inquilinos creados a partir del 16 de octubre de 2023. Los inquilinos existentes con Hooks activos conservarán el acceso al producto Hooks hasta el fin de vida útil.Le recomendamos encarecidamente que use Actions para ampliar Auth0. Con Actions, tiene acceso a información de tipos más completa, documentación integrada y paquetes públicos de npm, y puede conectar integraciones externas que mejoran su experiencia general de extensibilidad. Para obtener más información sobre lo que ofrece Actions, lea Comprenda cómo funcionan las Actions de Auth0.Para ayudarle con la migración, ofrecemos guías que le ayudarán a migrar de Rules a Actions y migrar de Hooks a Actions. También contamos con una página dedicada, Move to Actions, que destaca comparaciones de funcionalidades, una demostración de Actions y otros recursos para ayudarle en su proceso de migración.Para obtener más información sobre la obsolescencia de Rules y Hooks, lea nuestra entrada del blog: Preparing for Rules and Hooks End of Life.
El objeto context almacena información contextual sobre la transacción de autenticación actual, como la dirección IP, la aplicación o la ubicación del usuario. Si cambia el contenido del token mediante el objeto context dentro de una regla, los cambios estarán disponibles en los tokens una vez que todas las reglas hayan terminado de ejecutarse. Si su aplicación también requiere o el consentimiento del usuario, se le solicitará al usuario antes de que los cambios en el token estén disponibles.

Propiedades

Las siguientes propiedades están disponibles en el objeto context.
PropiedadDescripción
context.tenantUna cadena que contiene el nombre del inquilino.
context.clientIDEl ID de cliente de la aplicación en la que el usuario inicia sesión.
context.clientNameEl nombre de la aplicación (tal como se define en el panel).
context.clientMetadataUn objeto para almacenar otras propiedades de la aplicación. Sus claves y valores son cadenas.
context.connectionIDUna cadena que contiene el identificador único de la conexión.
context.connectionEl nombre de la conexión que se utiliza para autenticar al usuario (por ejemplo: twitter o some-g-suite-domain)
context.connectionStrategyEl tipo de conexión. Para una conexión social, connectionStrategy === connection. En las conexiones empresariales, la estrategia será waad (Windows Azure AD), ad (Active Directory/LDAP), auth0 (conexiones de base de datos), etc.
context.connectionOptionsUn objeto que representa las opciones definidas en la conexión. connectionOptions.tenant_domain es una cadena que contiene el dominio que se utiliza para la autenticación cuando se usa una conexión empresarial.
connectionOptions.domain_aliases es una matriz que contiene los dominios opcionales registrados como alias, además del dominio principal (especificado en la propiedad connectionOptions.tenant_domain).
context.connectionMetadataObjeto que representa los metadatos definidos en la conexión. Sus claves y valores son cadenas.
context.samlConfigurationUn objeto que controla el comportamiento de los endpoints de SAML y WS-Fed. Útil para el mapeo avanzado de claims y el enriquecimiento de tokens (solo disponible para los protocolos samlp y wsfed).
context.protocolEl protocolo de autenticación. Valores posibles:
  • oidc-basic-profile: el más utilizado, inicio de sesión basado en web
  • oidc-implicit-profile: se usa en dispositivos móviles y aplicaciones de página única
  • oauth2-device-code: transacción que utiliza el Flujo de autorización de dispositivos
  • oauth2-resource-owner: inicio de sesión con usuario/contraseña, usado normalmente en conexiones de base de datos
  • oauth2-resource-owner-jwt-bearer: inicio de sesión mediante un JWT bearer firmado con la clave privada del usuario
  • oauth2-password: inicio de sesión mediante el intercambio de contraseña
  • oauth2-refresh-token: renovación de un token mediante el intercambio de un Token de actualización
  • samlp: protocolo SAML usado en aplicaciones SaaS
  • wsfed: WS-Federation usado en productos de Microsoft como Office365
  • wstrust-usernamemixed: inicio de sesión con usuario/contraseña de WS-trust usado en CRM y Office365
  • delegation: al llamar al endpoint de Delegation
  • redirect-callback: cuando se reanuda una regla de redirección
context.riskAssessmentUn objeto que contiene puntuaciones específicas (bajo, medio, alto, neutro) para los evaluadores de intentos de inicio de sesión de alto riesgo. Consulte Personalice la MFA adaptativa con Rules.
context.statsUn objeto que contiene estadísticas específicas del usuario, como stats.loginsCount. Tenga en cuenta que ninguna de las variables de contador devueltas como parte del objeto stats se incrementa durante la autenticación silenciosa (como cuando prompt=none). También hay situaciones en las que las variables de contador pueden incrementarse y, aun así, una Rule o un conjunto de Rules no se ejecuten, como en el caso de una autenticación entre orígenes correcta seguida de una solicitud de token fallida.
context.ssoEste objeto contendrá información sobre la transacción de inicio de sesión único (SSO) (si está disponible)
  • with_auth0: cuando un usuario inicia sesión con SSO en una aplicación en la que está habilitada la configuración Use Auth0 instead of the IdP to do Single Sign-On (solo para inquilinos heredados).
  • with_dbconn: un inicio de sesión con SSO de un usuario autenticado mediante una conexión de base de datos.
  • current_clients: los ID de cliente que usan SSO.
context.accessTokenUn objeto que representa las opciones definidas en el Token de acceso. Puede usar este objeto para agregar claims personalizados con espacio de nombres al Token de acceso. context.accessToken.scope se puede usar para cambiar los alcances que devuelve el Token de acceso. Cuando se proporciona, es un arreglo que contiene permisos como cadenas. Los claims personalizados se incluirán en el Token de acceso después de que se hayan ejecutado todas las Rules.
context.idTokenUn objeto que representa las opciones definidas en el ID Token. Se usa para agregar claims personalizadas con espacio de nombres al ID Token. Las claims personalizadas se incluirán en el ID Token una vez que se hayan ejecutado todas las Rules.
context.multifactorUn objeto que representa la configuración de MFA utilizada para implementar MFA contextual.
context.redirectEl objeto que se usa para implementar la redirección de un usuario desde una regla.
context.sessionIDUn identificador interno de la sesión de autenticación. El valor solo se conserva si se usa prompt=none en la solicitud de autorización. Tenga en cuenta que el ID de sesión puede cambiar después de la ejecución de la regla en otros flujos, por lo que el valor disponible en context.sessionID podría no coincidir con el nuevo ID de sesión que recibirá el usuario. Esto significa que este valor solo tiene sentido cuando se usa prompt=none.
context.requestUn objeto que contiene información útil sobre la solicitud. También puede establecerse como undefined. Tiene las siguientes propiedades:
  • userAgent: el user-agent de la aplicación que intenta iniciar sesión.
  • ip: la dirección IP de origen del usuario que intenta iniciar sesión. Exponemos direcciones IPv6 en nuestros endpoints públicos (por ejemplo, travel0.us.auth0.com). Si una solicitud llega desde una máquina compatible con IPv6, esto contendrá una dirección IPv6. Si realiza una manipulación manual de direcciones IP, le sugerimos que utilice la biblioteca ipaddr.js@1.9.0.
  • hostname: el hostname que se utiliza para el flujo de autenticación.
  • query: un objeto que contiene las propiedades de la cadena de consulta de la transacción de inicio de sesión enviada por la aplicación.
  • body: el cuerpo de la solicitud POST en las transacciones de inicio de sesión que usan los protocolos oauth2-resource-owner, oauth2-resource-owner-jwt-bearer o wstrust-usernamemixed.
  • geoip: un objeto que contiene información geográfica de la IP. Tiene las siguientes propiedades:
    • country_code: un código de dos caracteres para el país asociado a la dirección IP.
    • country_code3: un código de tres caracteres para el país asociado a la dirección IP.
    • country_name: el nombre del país asociado a la dirección IP.
    • city_name: el nombre de la ciudad o localidad asociado a la dirección IP.
    • latitude: la latitud asociada a la dirección IP.
    • longitude: la longitud asociada a la dirección IP.
    • time_zone: la zona horaria asociada a la dirección IP.
    • continent_code: un código de dos caracteres para el continente asociado a la dirección IP.
    • subdivision_code: el código ISO 3166-2 de la subdivisión o región de nivel superior.
    • subdivision_name: el nombre en inglés de esta subdivisión o región.
context.primaryUserEl id único de la cuenta principal del usuario. Se usa para vincular cuentas de usuario de varios proveedores de identidad.
context.authenticationUn objeto que contiene información relacionada con la transacción de autenticación con las siguientes propiedades:

methods: una matriz de objetos que contiene los métodos de autenticación que un usuario ha completado durante su sesión. Por ejemplo, un usuario que ha completado una autenticación basada en contraseña seguida de MFA puede tener los siguientes métodos:
json lines [ { "name": "pwd", "timestamp": 1434454643024 }, { "name": "mfa", "timestamp": 1534454643881 } ]
Los objetos de método contienen las siguientes propiedades:
  • name: una cadena que representa el nombre del método de autenticación que se ha completado. Puede ser uno de los siguientes valores (es posible que en el futuro se admitan valores adicionales):
    • federated: se usó una conexión social o empresarial para autenticar al usuario
    • pwd: se usó una conexión de base de datos para autenticar al usuario
    • sms: se usó una conexión SMS sin contraseña para autenticar al usuario
    • email: se usó una conexión de correo electrónico sin contraseña para autenticar al usuario
    • mfa: el usuario completó una autenticación multifactor
  • timestamp: un entero que indica el momento, en segundos, en que tuvo lugar el método de autenticación, en tiempo de época Unix
Puedes ver un caso práctico de la propiedad context.authentication.methods en la Rule Require MFA once per session.
context.authorizationUn objeto que contiene información relacionada con la transacción de autorización con las siguientes propiedades:
  • roles: una matriz de cadenas que contiene los nombres de los roles asignados a un usuario. Puede consultar un caso de uso de ejemplo en el que se utiliza la propiedad context.authorization.roles para agregar roles a los tokens en Casos de uso de ejemplo: Rules con autorización.
context.organizationObjeto que contiene información relacionada con la organización. Incluye las siguientes propiedades:
  • id: Cadena que contiene el ID de la organización con la que el usuario está iniciando sesión.
  • name: Cadena que contiene el nombre de la organización (tal como se define en el Auth0 Dashboard).
  • metadata: Diccionario de pares clave/valor de cadena que contiene otras propiedades de la organización.

Más información