
Crear un inquilino de IdP
-
Vaya al Auth0 Dashboard, seleccione el nombre de su inquilino y, a continuación, seleccione Crear inquilino.

- Introduzca un Dominio, seleccione una Región y haga clic en Crear.
Configurar el inquilino de IdP
- Cambie a su inquilino de IdP. Abra el menú del inquilino, seleccione Switch Tenant y luego seleccione su inquilino de IdP.
- Vaya a Dashboard > Applications > Applications y seleccione Create Application.
- Introduzca un nombre para la aplicación, como
my-auth0-idp, seleccione Regular Web Application como tipo de aplicación y luego seleccione Create. - Vaya al final de la página Settings y seleccione Show Advanced Settings.
- Cambie a la vista Certificates, seleccione Download Certificate y elija PEM. El certificado se descargará. Usará este certificado cuando configure el inquilino de SP.
- Cambie a la vista Endpoints, busque SAML Protocol URL y copie su contenido. Usará esta URL cuando configure el inquilino de SP.
Crear un usuario para probar la secuencia SAML
- Vaya a Dashboard > User Management > Users y seleccione Create User.
- Introduzca una dirección de correo electrónico para el usuario de prueba. El dominio debe coincidir con el dominio de correo electrónico del inquilino del proveedor de servicios que configurará a continuación. Por ejemplo, si el usuario es
john.doe@exampleco.com, debe introducirexampleco.comcomo dominio del correo electrónico. - Introduzca una contraseña para el usuario de prueba.
- Use el valor predeterminado de Connection.
- Seleccione Create.
Configurar el inquilino del proveedor de servicios
- Cambie a su inquilino de SP. Abra el menú del inquilino, seleccione Switch Tenant y, a continuación, seleccione su inquilino de SP.
- Vaya a Dashboard > Authentication > Enterprise y seleccione SAML.
- Seleccione Create Connection.
- Introduzca la siguiente información y seleccione Create:
| Configuración | Descripción |
|---|---|
| Nombre de la conexión | Introduzca cualquier nombre, como SAML-Auth0-IDP. |
| URL de inicio de sesión | Introduzca el valor de la URL del protocolo SAML que copió antes. |
| URL de cierre de sesión | Introduzca la misma URL que para la URL de inicio de sesión anterior. |
| Certificado de firma X509 | Haga clic en el botón rojo UPLOAD CERTIFICATE… y seleccione el archivo .pem que descargó antes. |
- Cambie a la vista Setup para ver los metadatos asociados al inquilino. Copie y guarde la URL.
-
Abra una nueva pestaña del navegador y vaya a la URL que copió anteriormente. (Si ha iniciado sesión en el sitio de documentación de Auth0, la configuración se completará automáticamente con los valores correctos.)
- Busque Entity ID y copie y guarde su contenido. Tendrá un aspecto similar a este:
urn:auth0:{yourTenant}:{yourConnectionName}. Sustituya{yourConnectionName}por el nombre de la conexión que creó para su inquilino de IdP. - Busque Metadata y copie y guarde la URL proporcionada. Tendrá un aspecto similar a este:
https://{yourDomain}/samlp/metadata?connection={yourConnectionName}. Sustituya{yourConnectionName}por el nombre de la conexión que creó para su inquilino de IdP. - Vaya a la URL que copió anteriormente para ver los metadatos de esta conexión en el inquilino de SP. También es posible que su navegador le pida guardar el archivo de metadatos.
- Busque la fila que comienza con AssertionConsumerService y copie y guarde el valor del campo Location. Será una URL con el siguiente formato:
https://{yourDomain}/login/callback?connection={yourConnectionName}. Esta es la URL de su inquilino de SP que recibe la aserción SAML del inquilino de IdP. En la siguiente sección, proporcionará esta URL al inquilino de IdP para que sepa dónde enviar la aserción SAML.
- Busque Entity ID y copie y guarde su contenido. Tendrá un aspecto similar a este:
Agregar metadatos del proveedor de servicios al IdP
- Cambia a tu inquilino del IdP. Abre el menú del inquilino, selecciona Switch Tenant y luego selecciona tu inquilino del IdP.
- Ve a Dashboard > Applications > Applications y selecciona el nombre de la aplicación del IdP que creaste anteriormente.
- Cambia a la vista Addons.
- Selecciona SAML2 Web App para ver sus opciones y ubica la Application Callback URL. Pega la AssertionConsumerService URL que copiaste anteriormente.
- En el bloque de código Settings, ubica la clave
audiencey quítale el comentario. Luego, elimina la coma al final de la línea y reemplaza el valor original (urn:foo) por el valor de Entity ID que copiaste anteriormente (incluido el nombre de la conexión que creaste en el paso 4 cuando configuraste el inquilino de tu proveedor de servicios). La nueva línea debería verse así: “audience":"urn:auth0:{yourTenant}:{yourConnectionName}". - Selecciona Enable.
Probar el IdP
- En la misma ventana, desplázate hacia arriba y selecciona Debug. Aparecerá una pantalla de inicio de sesión.
- Inicia sesión con las credenciales del usuario de prueba que creaste anteriormente. Si la configuración es correcta, se mostrará “It works!”, junto con la respuesta SAML codificada y decodificada que se enviaría al IdP.
- Revisa la respuesta SAML decodificada, localiza
<saml:Audience>y asegúrate de que coincida con el Entity ID que ingresaste en la pantalla anterior. - Selecciona Close this window.
Crear una aplicación para probar la conexión SAML
- Cambie a su inquilino del SP. Abra el menú del inquilino, seleccione Switch Tenant y, a continuación, seleccione su inquilino del SP.
- Vaya a Dashboard > Applications > Applications y seleccione Create Application.
- Introduzca un nombre para la aplicación, seleccione Regular Web Application como tipo de aplicación y, a continuación, seleccione Create.
- Copie y guarde los valores de Dominio e ID de cliente.
- Busque el campo Allowed Callback URLs e introduzca
http://jwt.io. Esta es la lista de URL de callback permitidas a las que se redirigirá a los usuarios después de la autenticación. Las URL que introduzca aquí deben coincidir con la URL de callback del código HTML creado en el siguiente paso. Normalmente, introduciría una URL de su aplicación, pero para simplificar este ejemplo, el usuario de prueba será redirigido a la herramienta en línea JWT de Auth0, que proporciona información sobre el JSON Web Token (JWT) que se devuelve al final de la secuencia de autenticación. - Seleccione Save Changes.
- Cambie a la vista Connections, busque la conexión SAML que creó en la sección Enterprise y habilítela.
Pruebe la conexión entre el servicio y el proveedor de identidad
- Vaya a Dashboard > Authentication > Enterprise y seleccione SAML.
- Busque la conexión SAML que creó y seleccione el icono de flecha Try. Como ya inició sesión anteriormente mientras probaba esta conexión, debería ser redirigido directamente a la pantalla “It works!”. Si ve la pantalla de inicio de sesión, inicie sesión con las credenciales de su usuario de prueba.
Crea una página web para la aplicación de prueba
-
Crea una página HTML e inserta el siguiente código HTML y JavaScript. Reemplaza
{yourClientId}y{yourDomain}por los valores reales de la aplicación que registraste antes. (Si no anotaste esos valores, puedes encontrarlos en Application Settings del inquilino de tu SP). -
También puedes reemplazar
audiencepor el valor adecuado para tu aplicación, pero para esta prueba basta con un marcador de posición. Si especificas el parámetroaudience, asegúrate de que coincida con el identificador de una API existente que hayas configurado en Auth0. - Guarda el archivo HTML en una ubicación a la que puedas acceder desde un navegador.
Probar la aplicación de ejemplo
- Abra en un navegador el archivo HTML que creó anteriormente. Debería ver un botón de inicio de sesión.
- Haga clic en Login. Debería ver el widget Lock con una sola opción. Si tiene otras conexiones habilitadas para su aplicación, la pantalla puede verse diferente. Si se le solicita una dirección de correo electrónico, asegúrese de que la dirección que introduzca tenga el mismo dominio que el que indicó en la vista Settings de la aplicación en el primer inquilino.
- Haga clic en el botón azul, que puede mostrar saml o ACCESS. El hecho de que se le soliciten credenciales o de que se le redirija inmediatamente a la URL de callback depende de si todavía tiene una sesión activa.
Solucionar problemas del escenario de prueba
- Borra el historial y las cookies del navegador antes de cada prueba. Si no lo haces, es posible que el navegador no cargue la versión más reciente de tu página HTML o que tenga cookies obsoletas que afecten la ejecución.
-
Captura una traza HTTP de la interacción. Muchas herramientas permiten capturar el tráfico HTTP de tu navegador para analizarlo.
- Busca en internet “HTTP Trace” para encontrar e instalar una herramienta.
- Captura la secuencia de inicio de sesión de principio a fin y analiza la traza. Haz un seguimiento de la secuencia de solicitudes GET para ver hasta dónde llegas en la secuencia esperada. Deberías ver una redirección desde tu sitio original al inquilino del SP y luego al inquilino del IdP, un POST de credenciales si tuviste que iniciar sesión, después una redirección de vuelta a la URL de callback o al inquilino del SP, y luego una redirección a la Callback URL especificada en tu aplicación.
- Asegúrate de que las cookies y JavaScript estén habilitados en tu navegador.
- Asegúrate de que la Callback URL especificada en el archivo HTML también figure en el campo Allowed Callback URLs de tu aplicación. Para hacerlo, ve a Dashboard > Applications > Applications y selecciona el nombre de tu aplicación; luego, busca Allowed Callback URLs.
- Usa la herramienta http://samltool.io para decodificar una aserción SAML.