Cómo configurar el SSO de SAML con Auth0
- Disponible para:
- Propietarios and AdministradoresLos roles controlan qué ajustes de cuenta y equipo puede administrar una persona. Su rol puede variar según la organización, el equipo o el grupo.
- Planes:
- Teams con complemento SSO, Teams Plus con complemento SSO, and EnterpriseEl acceso a las funciones puede variar según su plan, cuándo se creó su cuenta y los complementos.
Funciones de Auth0 SAML SSO
- SSO iniciado por el proveedor de identidad (IdP-iniciado)
- SSO iniciado por el proveedor de servicios (SP-iniciado)
Antes de comenzar
- Debe usar la misma dirección de email en Calendly y Auth0.
- Durante la configuración, alternará entre Calendly y Auth0. Es mejor mantener cada plataforma abierta en una ventana del navegador independiente.
Configurar Auth0 SAML SSO
Vaya a la página de configuración de Inicio de sesión único (SSO) de Calendly
- Vaya a Settings → Access → Single sign-on.
Crear una aplicación de Calendly en Auth0
- En una nueva ventana, inicie sesión en Auth0.
- Seleccione Applications.
- En el menú desplegable, seleccione Applications.
- Seleccione Create Application.
- En el campo Name, introduzca "Calendly".
- En Choose application type, seleccione Regular Web Applications.
- Seleccione Create.
- Seleccione Settings.
- Desplácese hasta la parte inferior y seleccione Advanced Settings.
- Seleccione Grant Types.
- Desmarque todas las selecciones. (Note: No usará OAuth2, por lo que ninguna de las selecciones es necesaria para esta aplicación de Auth0).
- Seleccione Save Changes.
Añadir detalles de Auth0 a Calendly
- Desplácese de nuevo hasta la parte superior de la página y seleccione Addons.
- Seleccione SAML2 Web App.
- Copie el ID de Issuer en Auth0 y péguelo en el campo Entity ID en Calendly.
- En Auth0, copie la Identity Provider Login URL y péguela en el campo Identity provider's SAML HTTP Request URL en Calendly.
- En Auth0, en Identity Provider Certificate, seleccione Download Auth0 certificate.
- En Calendly, seleccione Upload certificate. Busque y cargue el certificado descargado de Auth0.
- En Session duration, establezca el valor adecuado para las políticas de seguridad de su organización.
- Seleccione Save & continue.
Añadir detalles de Calendly a Auth0
- En Auth0, seleccione Settings.
- En Calendly, copie la ACS URL y péguela en el campo Application Callback URL en Auth0.
- Copie el siguiente JSON y péguelo en el campo Settings en Auth0:
javascript { "audience": "{Audience URL}", "mappings": { "given_name": "firstName", "family_name": "lastName", "email": "email" }, "passthroughClaimsWithNoMapping": false, "mapUnknownClaimsAsIs": true, "signatureAlgorithm": "rsa-sha256", "digestAlgorithm": "sha256", "signResponse": true, "nameIdentifierProbes": [ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" ] }
- En Calendly, copie la Audience URL.
- En Auth0, en el JSON del campo Settings, sustituya
{Audience URL}por el valor de Audience URL que copió de Calendly en el paso 4. - Seleccione Enable. Cuando vea el mensaje de éxito, cierre el modal.
Crear una regla en Auth0
- En Auth0, copie el Client ID y péguelo en un lugar seguro para usarlo más tarde.
- En la barra lateral izquierda, haga clic en Actions → Flows.
- Seleccione el tipo de flujo de inicio de sesión. En la barra lateral derecha, seleccione + y luego Build Custom.
- En el cuadro de diálogo, introduzca "Calendly SAML" como nombre.
- Seleccione Create.
- Elimine el código existente y copie y pegue el código de abajo en el editor.
javascript /** * Handler that will be called during the execution of a PostLogin flow. * * @param {Event} event - Details about the user and the context in which they are logging in. * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login. */ exports.onExecutePostLogin = async (event, api) => { const {client, user} = event if (client.client_id !== '{Client ID}') { return } const name_parts = (user.name || '').split(' ', 3); const given_name = user.given_name || name_parts.at(0); const family_name = user.family_name || name_parts.at(-1); api.idToken.setCustomClaim(`given_name`, given_name); api.idToken.setCustomClaim(`family_name`, family_name); };- Sustituya
{Client ID}por el valor de Client ID copiado en el paso 1. - Seleccione Save Draft y luego Deploy.
- Seleccione Back to Flow.
- En la barra lateral derecha, haga clic en Custom.
- Arrastre y suelte la acción Calendly SAML en el flujo.
- Seleccione Apply.
Probar la conexión
En Calendly, seleccione Enable SSO for yourself y luego seleccione Test connection. Si se realiza correctamente, verá una confirmación.
Forzar Auth0 SSO para su organización
En Calendly, seleccione Enforce SAML SSO for my organization y luego Apply.
Una vez que se fuerce el SSO, todos los usuarios se cerrarán la sesión y deberán usar SAML SSO para iniciar sesión en Calendly. Solo el propietario de la organización puede iniciar sesión usando su método de inicio de sesión alternativo (original) seleccionando Log in using another method en la página de inicio de sesión.