Funciones de SSO de SAML con Auth0
- SSO iniciado por el proveedor de identidad (iniciado por IdP)
- SSO iniciado por el proveedor de servicios (iniciado por SP)
NOTA: No se admite la creación de usuario Just-in-Time (JIT). Puedes aprovisionar usuarios a través de SCIM en el plan Enterprise de Calendly.
Antes de empezar
- El SSO de SAML está incluido en el plan Enterprise de Calendly. Para obtener más información, ponte en contacto con el ejecutivo de tu cuenta o con el equipo de ventas de Calendly.
- Para configurar el SSO de SAML, debes ser propietario o administrador de Calendly.
- Debes utilizar la misma dirección de correo electrónico en Calendly y Auth0.
- Durante la configuración, cambiarás entre Calendly y Auth0. Lo mejor es mantener cada plataforma abierta en una ventana del navegador separada.
Configurar el SSO de SAML con Auth0
Dirígete a la página de configuración de inicio de sesión único de Calendly
Desde cualquier página de Calendly, selecciona Cuenta, Ajustes de la organización y luego Inicio de sesión único.
Crear una aplicación de Calendly en Auth0
- En una nueva ventana, inicia sesión en Auth0.
- Selecciona Aplicaciones.
- En el menú desplegable, selecciona Aplicaciones.
- Selecciona Crear aplicación.
- En el campo Nombre, escribe Calendly.
- En Elegir tipo de aplicación, selecciona Aplicaciones web regulares.
- Selecciona Crear.
- Selecciona Configuración.
- Desplázate hasta la parte inferior y selecciona Configuración avanzada.
- Selecciona Tipos de autorización.
- Deselecciona todas las selecciones. (Nota: No utilizarás OAuth2, por lo que no es necesaria ninguna de las selecciones para esta aplicación Auth0).
- Selecciona Guardar cambios.
Añadir detalles de Auth0 a Calendly
- Desplázate hasta la parte superior de la página y selecciona Complementos.
- Selecciona Aplicación web de SAML2.
- Copia la ID del emisor en Auth0 y pégala en el campo ID de entidad en Calendly.
- En Auth0, copia la URL de inicio de sesión del proveedor de identidad y pégala en el campo URL HTTP de solicitud SAML del proveedor de identidad en Calendly.
- En Auth0, en Certificado del proveedor de identidad, selecciona Descargar el certificado de Auth0.
- En Calendly, selecciona Cargar certificado. Localiza e ingresa el certificado descargado de Auth0.
- En Duración de la sesión, establece el valor apropiado para las políticas de seguridad de tu organización.
- Selecciona Guardar y continuar.
Añadir detalles de Calendly a Auth0
- En Auth0, selecciona Configuración.
- En Calendly, copia la URL de ACS y pégala en el campo URL de callback de la aplicación en Auth0.
-
Copia el siguiente JSON y pégalo en Configuración, en el campo de Auth0:
{ "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, copia la URL de audiencia.
- En Auth0, en el JSON del campo Configuración, reemplaza
{Audience URL}por el valor de URL de audiencia que has copiado de Calendly en el paso 4. - Activa la opción. Cuando veas el mensaje de éxito, cierra el modal.
Crear una regla en Auth0
- En Auth0, copia la ID de cliente y pégala en un lugar seguro para usarla más tarde.
- En la barra lateral izquierda, haz clic en Acciones > Flujos.
- Selecciona el tipo de flujo de inicio de sesión. En la barra lateral derecha, selecciona + y luego Crear personalizado.
- En el cuadro de diálogo, introduce «Calendly SAML» como nombre.
- Selecciona Crear.
- Elimina el código existente, y copia y pega el código siguiente en el editor.
-
/** * Controlador que se llamará durante la ejecución de un flujo de PostLogin. * * @param {Event} Evento: detalles sobre el usuario y el contexto en el que está iniciando sesión. * @param {PostLoginAPI} api: interfaz cuyos métodos se pueden utilizar para cambiar el comportamiento del inicio de sesión. */ 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); };
-
- Reemplaza
{Client ID}por la ID de cliente copiada en el paso 1. - Selecciona Guardar borrador y luego Implementar.
- Selecciona Volver al flujo.
- En la barra lateral derecha, haz clic en Personalizado.
- Arrastra y suelta la acción de SAML de Calendly en el flujo.
- Selecciona Aplicar.
Probar la conexión
Nota: Antes de probar la conexión, debes haber iniciado sesión en Calendly y Auth0 con la misma dirección de correo electrónico.
En Calendly, selecciona Activar SSO para ti y luego selecciona Probar conexión. Si la acción tiene éxito, aparecerá una confirmación.
Aplicar el SSO de Auth0 en tu organización
Nota: Si tu organización tiene restricciones de aplicación para usuarios, actualiza las reglas para que los usuarios apropiados puedan usar Calendly.
En Calendly, selecciona Aplicar SSO de SAML para mi organización y luego Aplicar.
Cuando se haya impuesto el inicio de sesión único (SSO), se cerrará la sesión de todos los usuarios y deberán utilizar el SSO de SAML para iniciar sesión en Calendly. Solo el propietario de la organización puede iniciar sesión con su método de inicio de sesión alternativo (original) seleccionando Acceder con otro método en la página de inicio de sesión.