Comment configurer Auth0 SAML SSO

Fonctionnalités Auth0 SAML SSO

  • SSO initiée par le fournisseur d'identité (initiée par l'IdP)
  • SSO initiée par le fournisseur de services (initié par le SP)

REMARQUE : la création d'utilisateur Juste-à-Temps (JAT) n'est pas prise en charge. Vous pouvez provisionner des utilisateurs via SCIM sur le plan Enterprise de Calendly.

Avant de commencer

  • SSO SAML est incluse dans le plan Enterprise de Calendly. Pour en savoir plus, contactez votre responsable de compte ou le service commercial Calendly.
  • Pour configurer SSO SAML, vous devez être propriétaire ou administrateur de Calendly.
  • Vous devez utiliser la même adresse e-mail dans Calendly et Auth0.
  • Pendant la configuration, vous alternerez entre Calendly et Auth0. Il est préférable de garder chaque plateforme ouverte dans une fenêtre de navigateur distincte.

Configurer Auth0 SAML SSO

Accédez à la page de configuration d'authentification unique de Calendly

À partir de n'importe quelle page Calendly, sélectionnez Compte, Paramètres de l'organisation, puis Authentification unique.

Créer une application Calendly dans Auth0

  1. Dans une nouvelle fenêtre, connectez-vous à Auth0.
  2. Sélectionnez Applications.
  3. Dans le menu déroulant, sélectionnez Applications.
  4. Sélectionnez Créer une application.
  5. Dans le champ Nom, entrez « Calendly ».
  6. Dans Choisir un type d'application, sélectionnez Applications Web ordinaires.
  7. Sélectionnez Créer.
  8. Sélectionnez Paramètres.
  9. Faites défiler vers le bas et sélectionnez Paramètres avancés.
  10. Sélectionnez Types d'autorisations.
  11. Désélectionnez toutes les sélections. (Remarque : vous n'utiliserez pas OAuth2, aucune sélection n'est donc nécessaire pour cette application Auth0.)
  12. Sélectionnez Enregistrer les modifications.

Ajouter des détails Auth0 à Calendly

  1. Revenez en haut de la page et sélectionnez Modules complémentaires.
  2. Sélectionnez SAML2 Web App.
  3. Copiez l'identifiant de l'émetteur dans Auth0 et collez-le dans le champ Identifiant de l'entité dans Calendly.
  4. Dans Auth0, copiez l'URL de connexion du fournisseur d'identité et collez-la dans le champ URL de requête HTTP SAML du fournisseur d'identité dans Calendly.
  5. Dans Auth0, sous Certificat du fournisseur d'identité, sélectionnez Télécharger le certificat Auth0.
  6. Dans Calendly, sélectionnez Importer un certificat. Localisez et saisissez le certificat téléchargé à partir d'Auth0.
  7. Dans Durée de la session, ajustez la valeur appropriée pour les politiques de sécurité de votre organisation.
  8. Sélectionnez Enregistrer et continuer.

Ajouter des détails de Calendly à Auth0

  1. Dans Auth0, sélectionnez Paramètres.
  2. Dans Calendly, copiez l'URL ACS et collez-la dans le champ URL de redirection de l'application dans Auth0.
  3. Copiez le JSON suivant et collez-le dans le champ Paramètres dans 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" ] }
    SAML2_settings.png
  4. Dans Calendly, copiez l'URL d'Audience.
  5. Dans Auth0, dans le JSON dans le champ Paramètres, remplacez {Audience URL} par la valeur de l'URL Audience que vous avez copiée de Calendly à l'étape 4.
  6. Sélectionnez Activer. Lorsque vous voyez le message de succès, fermez la fenêtre modale.

Créer une règle dans Auth0

  1. Dans Auth0, copiez l'identifiant client et collez-le dans un endroit sûr pour une utilisation ultérieure.
  2. Dans la barre latérale de gauche, cliquez sur Actions > Flux.
  3. Sélectionnez le type de flux de connexion. Dans la barre latérale de droite, sélectionnez +, puis Construire personnalisé.
  4. Dans la boîte de dialogue, entrez « Calendly SAML » comme nom.
  5. Sélectionnez Créer.
  6. Supprimez le code existant et copiez-collez le code ci-dessous dans l'éditeur.
    • /** * Handler qui sera appelé pendant l'exécution d'un flux PostLogin. * * @param {Event} event - Détails sur l'utilisateur et le contexte dans lequel il se connecte. * @param {PostLoginAPI} api - Interface dont les méthodes peuvent être utilisées pour modifier le comportement de la connexion. */ 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); };
  7. Remplacez {Identifiant client} par l'identifiant client copié à l'étape 1.
  8. Sélectionnez Enregistrer un brouillon, puis Publier.
  9. Sélectionnez Retour au flux.
  10. Dans la barre latérale de droite, cliquez sur Personnalisé.
  11. Glissez et déposez l'action SAML de Calendly dans le processus.
  12. Sélectionnez Appliquer.

Tester la connexion

Remarque : avant de tester la connexion, vous devez être connecté à Calendly et Auth0 avec la même adresse e-mail.

Dans Calendly, sélectionnez Activer la connexion SSO pour vous-même, puis sélectionnez Tester la connexion. En cas de succès, vous verrez une confirmation.

Capture d'écran 2023-10-11 à 10:13:52.png

Appliquez SSO Auth0 pour votre organisation.

Remarque : si votre organisation a des restrictions d'application pour les utilisateurs, mettez à jour ces règles afin que les utilisateurs appropriés puissent utiliser Calendly.

Dans Calendly, sélectionnez Appliquer SSO SAML pour mon organisation, puis Appliquer.

Capture d'écran 2023-10-11 à 10:14:09.png

Une fois SSO appliqué, tous les utilisateurs seront déconnectés et devront utiliser SSO SAML pour se connecter à Calendly. Seul le propriétaire de l'organisation peut se connecter avec sa méthode de connexion de secours (d'origine) en sélectionnant Se connecter avec une autre méthode sur la page de connexion.