Práctica recomendadaAunque Auth0 admite numerosos flujos de autenticación, los que usan Auth0 Universal Login se consideran una práctica recomendada tanto del sector como de Auth0 porque proporcionan funcionalidad y seguridad óptimas. En particular, Universal Login proporciona inicio de sesión único (SSO) listo para usar y ayuda a mitigar ataques como el phishing y bucket brigade; por esta razón, debe ser la opción preferida siempre que un usuario introduzca credenciales de contraseña. Además, la nueva experiencia de Universal Login también es el único mecanismo compatible al usar la funcionalidad Organizations de Auth0.
Auth0 admite solo un contexto de usuario autenticado por inquilino de Auth0; los inquilinos no pueden cambiar selectivamente entre contextos de usuario autenticado. Cambiar el contexto de usuario afecta a cualquier sesión de SSO activa, y esto también se extiende a la funcionalidad Organizations de Auth0. Si los contextos por organización son absolutamente necesarios, será necesario desplegar varios inquilinos de Auth0 en producción. Dado que usar varios inquilinos tiene implicaciones que afectan al inicio de sesión único (SSO), a la gestión del perfil de usuario y a otros aspectos, debes evaluar cuidadosamente esta opción antes de seguir ese camino.
Conexión de base de datos

-
Jennifer, de Hoekstra & Associates, abre su navegador y accede a la instancia de Travel0 Corporate Booking de Hoekstra & Associates.
- Si Jennifer ya tiene una cookie de sesión con la instancia de Travel0 Corporate Booking de Hoekstra & Associates, normalmente ya habrá iniciado sesión en el sistema, y aquí finaliza el proceso. Para obtener más información, consulte Inicio de sesión único.
-
La instancia de Travel0 Corporate Booking de Hoekstra & Associates redirige al Tenant de Auth0 de Travel0 mediante el Flujo de código de autorización (con o sin PKCE) llamando al endpoint
/authorizey pasando parámetros, normalmente mediante el uso de un SDK de Auth0 o una biblioteca de terceros:-
redirect_uri:https://hoekstra.corp.travel0.net/login/callback -
response_type:code -
state: estado único generado en esta sesión -
scope:openid profile… - cualquier alcance de OIDC adicional que sea necesario, según la información requerida sobre el usuario.
-
client_id: ID de cliente asociado a la aplicación creada en el inquilino de Auth0 de Travel0 para la instancia de Travel0 Corporate Booking de Hoekstra & Associates. -
organization: Organización de Auth0 que se debe usar. Cuando la organización se conoce de antemano, una solicitud a/authorizepuede incluir este parámetro, que se especifica con el formatoorganization=organization_id, donde organization_id se establece con el identificador asociado a la definición correspondiente de la Organización de Auth0 en tu inquilino de Auth0. Como alternativa, puedes omitir el parámetroorganizationde la llamada a/authorizey configurar tu inquilino de Auth0 para que solicite al usuario que seleccione la organización adecuada como parte de la autenticación del primer factor. Para obtener más información, consulta Definir el comportamiento de la organización.
-
-
El Tenant de Auth0 de Travel0 redirige a
/loginpara solicitar las credenciales al usuario. Si Jennifer ya tiene una sesión de base de datos con Hoekstra & Associates, se omitirán los pasos 3a y 4. Para obtener más información, consulta inicio de sesión único (SSO).- Se muestra la página de Universal Login, que puede configurar para incluir recursos de marca específicos de la organización, como se describe en Marca.
-
El usuario introduce sus credenciales y hace clic en
login. -
El Tenant de Auth0 de Travel0 comprueba las credenciales del usuario; si son válidas, se ejecuta el flujo de Rules. Rules se puede usar para gestionar el control de acceso, como se describe en Autorización. Si las credenciales del usuario no son válidas, se le pedirá que vuelva a introducirlas.
La asignación automática de membresía se realizará si se ha especificado esta opción. Para obtener más información, consulta Conceder membresía Just-In-Time a una Conexión de Organización. En el caso de la membresía asignada manualmente, la validación fallará si el usuario no ha sido asignado previamente como miembro de la Organización.
-
Tras una autenticación correcta del primer factor y la ejecución de Rules, se redirige al usuario a
redirect_uri(https://hoekstra.corp.travel0.net/login/callback) con elstateenviado en el paso 2, así como uncode. -
La instancia de Travel0 Corporate Booking de Hoekstra & Associates valida el
statey luego llama al Tenant de Auth0 de Travel0 enhttps://auth.travel0.net/oauth/token, pasando elcode, suID de clientey suSecreto del clientepara obtener el ID Token. Luego, el ID Token se usa para generar una sesión parahttps://hoekstra.corp.travel0.net. - La instancia de Travel0 Corporate Booking de Hoekstra & Associates muestra al usuario la página adecuada.
Conexión empresarial

-
Amintha, de MetaHexa Bank, abre su navegador y accede a la instancia de Travel0 Corporate Booking de MetaHexa Bank.
- Si Amintha ya tiene una cookie de sesión con la instancia de Travel0 Corporate Booking de MetaHexa Bank, normalmente iniciará sesión en el sistema y el proceso terminará aquí. Para obtener más información, consulte Inicio de sesión único.
-
La instancia de Travel0 Corporate Booking de MetaHexa Bank redirige al inquilino de Auth0 de Travel0 mediante el Flujo de código de autorización (con o sin PKCE) llamando al endpoint
/authorizey pasando parámetros, normalmente mediante el uso de un SDK de Auth0 o una biblioteca de terceros:-
redirect_uri:https://metahexa.corp.travel0.net/login/callback -
response_type:code -
state: estado único generado en esta sesión -
scope:openid profile… - cualquier alcance adicional de OIDC Scopes necesario, según la información requerida sobre el usuario.
-
client_id: ID de cliente asociado a la aplicación creada en el inquilino de Auth0 de Travel0 para la instancia de Travel0 Corporate Booking de MetaHexa Bank. -
organization: Organización de Auth0 que se va a usar. Cuando la organización se conoce de antemano, una solicitud a/authorizepuede incluir este parámetro, que se especifica con el formatoorganization=organization_id, donde organization_id se establece en el identificador asociado a la definición correspondiente de la Organización de Auth0 en su inquilino de Auth0. Como alternativa, puede omitir el parámetroorganizationde la llamada a/authorizey configurar su inquilino de Auth0 para pedir al usuario que seleccione la organización adecuada como parte de la autenticación del primer factor. Para obtener más información, consulte Definir el comportamiento de la organización. -
connection: nombre de la conexión empresarial de Auth0 configurada para MetaHexa Bank.Práctica recomendadaProporcione siempre el parámetroconnection. Cuando no se proporciona, se pide al usuario que seleccione la conexión empresarial asociada al Proveedor de identidad (IdP) correspondiente, lo que añade un paso adicional desde la perspectiva de la experiencia de usuario.
-
-
El inquilino de Auth0 de Travel redirige al IdP de MetaHexa para autenticar las credenciales del primer factor.
- Se muestra la página de inicio de sesión y el usuario introduce sus credenciales. Si Amintha ya tiene una sesión con el IdP de MetaHexa, se omitirán los pasos 3a y 4. Para obtener más información, consulte Inicio de sesión único (SSO).
-
El usuario introduce sus credenciales y hace clic en
login. - Tras una autenticación correcta del primer factor, se ejecuta la canalización de Rules. Rules puede usarse para gestionar el control de acceso como se describe en Autorización. Si las credenciales del usuario no son válidas, se le pedirá que las vuelva a introducir.
La asignación automática de membresía se realizará si se ha especificado esta opción. Para obtener más información, consulte Otorgar membresía Just-In-Time a una conexión de organización. En el caso de la membresía asignada manualmente, la validación fallará si el usuario aún no ha sido asignado como miembro de la organización.
metahexa.corp.travel0.net) en lugar de Hoekstra & Associates.
La autenticación mediante una conexión social sigue un patrón similar al de una conexión empresarial, pero en este caso el IdP de origen está asociado al proveedor social en lugar de a una organización específica.
Con las conexiones sociales, el aislamiento de usuarios no puede modelarse de forma coherente por organización. Aunque puede resultar tentador modelar el aislamiento de usuarios creando varias conexiones a un proveedor social, por ejemplo mediante conexiones sociales personalizadas, debe evitar hacerlo; esta estrategia puede hacer que se cree el mismo id de usuario en varias definiciones de conexión, lo que inevitablemente acabará causando problemas más adelante.