Introduction
Il est possible d’intégrer Docebo avec Auth0, un fournisseur d’identité. Cette intégration permet aux utilisateurs de se connecter à leur plateforme Docebo en utilisant des identifiants venant de sessions actives d’autres plateformes. Si vous utilisez Docebo Extended Enterprise, vous pouvez utiliser cette intégration avec des sous-domaines.
A noter : Les domaines personnalisés ne sont pas pris en charge par Docebo pour l’authentification Auth0
Activer l’Application dans Docebo
Activez l'application Auth0 tel que décrit dans l'article Managing Apps & Features de la Knowledge Base. L'application est répertoriée dans l'onglet Single Sign On.
Une fois l'application activée, vous pouvez commencer la configuration. Veuillez vous référer la section ci-dessous pour en savoir plus.
Configurer l’Intégration dans Auth0
Connectez-vous à votre compte Auth0, puis cliquez sur New Application dans votre Dashboard. Dans la fenêtre pop-up, ajoutez le nom de votre application, puis choisissez le type de client. Pour cette intégration, le type de client n’a pas d’importance. Référez-vous à la documentation Auth0 pour plus d’informations sur les types de clients.
Cliquez sur Create une fois terminé. Une fois l’application créée, allez à l’onglet Settings. Dans cet onglet, vous devrez enregistrer les champs Domain, Client ID et Client Secret générés automatiquement. Cliquez sur Review Client Secret à droite du champ Client Secret. Ces trois champs doivent être insérés dans les champs correspondants de la page Auth0 de la plateforme.
Insérez ensuite l’URL de votre plateforme dans le champ Allowed Callback URLs ainsi que dans le champ Allowed Web Origins. Pour le champ Allowed Callback URLs, vous devez entrer certaines informations après l’URL de votre plateforme, cela doit se présenter ainsi : https://mylmsurl.docebosaas.com/learn/auth0/callback. Si vous avez activé Auth0 pour l’application mobile avec le Branded Mobile App Publisher de Docebo, veuillez définir un Package Name (pour Android) et le Bundle ID (pour IOS) dans le champ Allowed Callback URLs. Le format des URL callback pour les applications mobile utilisant le rebranding de Docebo est le suivant : com.yourcompany.yourapp.
Faites défiler la page et cliquez sur Show Advanced Settings dans l’onglet Settings du client Auth0. Dans la section Advanced Settings, sélectionnez l’onglet Certificates puis copiez tout le texte contenu dans le champ Signing Certificate et collez-le dans le champ correspondant de la page Paramètres Auth0 de votre plateforme. Vous pouvez également télécharger le certificat pour mémoire si nécessaire mais ce n’est pas obligatoire. Le reste de la configuration se tient à présent dans votre plateforme.
Configurer l’Application dans Docebo
Accédez au Menu Admin depuis l’icône engrenage dans le coin supérieur droit de la page, recherchez la section Auth0 dans le menu et cliquez sur Paramètres. Sur cette page, entrez le Nom du Domaine (Domain), l’ID Client (Client ID), le Secret Client (Client Secret) et le Certificat Signé (Signing Certificate) obtenus directement depuis Auth0.
Puis, sélectionnez l’attribut du nom d’utilisateur depuis Auth0 qui sera utilisé pour faire correspondre un utilisateur à un profil utilisateur dans Docebo. Entrez l’attribut (c'est-à-dire Nom d’utilisateur, adresse email, champ unique utilisateur) dans le champ correspondant.
Cliquez sur Enregistrer les Modifications pour enregistrer sans configurer les sections ci-dessous (comportement SSO, comportement de déconnexion, provisionnement des utilisateurs) ou référez-vous aux paragraphes ci-dessous pour leur configuration.
Comportement SSO
Pour configurer le comportement SSO, vous pouvez choisir entre deux options. Choisissez d’afficher la plateforme de connexion standard ou de rediriger automatiquement vers le Fournisseur d’Identité. Si vous choisissez la première option, vous pouvez choisir d’afficher le bouton d’identification unique sur la page de connexion.
Si vous choisissez l’option Redirection automatique vers le fournisseur d’identité, vous pouvez définir une page d'atterrissage spécifique quand les utilisateurs se déconnectent de la plateforme qui remplace la page de déconnexion standard. Utilisez le champ de texte pour entrer l’URL de la page d'atterrissage de déconnexion.
Comportement de Déconnexion
Dans la section Comportement de Déconnexion, vous pouvez cocher l’option pour que l’utilisateur soit automatiquement déconnecté du fournisseur d’identité quand il se déconnecte de la plateforme.
Quand cette option est sélectionnée, vous devez entrer l’URL de votre plateforme dans la liste d’autorisation de Auth0, dans le cas contraire vos utilisateurs ne seront pas autorisés à se déconnecter. L’URL de votre plateforme doit être déclarée à deux endroits de votre compte Auth0. Connectez-vous à votre compte Auth0, et:
- cliquez sur Applications dans le menu de gauche, recherchez l’application Docebo dans la liste et cliquez sur l’icône engrenage pour accéder à la page Settings. Passez à la section Allowed Logout URLs et entrez l’URL de votre plateforme suivie de /auth0 (ex. https://myplatform.docebosaas.com/auth0).
- allez ensuite sur votre profil en cliquant sur votre avatar dans le coin supérieur droit et sélectionnez Settings. Allez sur l’onglet Advanced et entrez l’URL de votre plateforme dans la section Allowed Logout URLs (ex. https://myplatform.docebosaas.com).
Si vous utilisez l’application Domaine Personnalisé, entrez à la fois votre domaine personnalisé et l’URL docebosaas
Provisionnement des Utilisateurs
AVERTISSEMENT : Afin d’effectuer correctement le provisionnement des utilisateurs pour cette intégration, vous devez d'abord créer des règles dans Auth0 afin d’exposer les claims utilisateurs Auth0 afin que Docebo puisse utiliser ces données pour configurer le provisionnement des utilisateurs. Veuillez vous référez à la documentation officielle Auth0 pour en savoir plus.
Une fois que vous avez créé les règles correctement, vous pouvez configurer le provisionnement des utilisateurs dans votre plateforme. Veuillez noter également que quand vous créez un nouveau client dans Auth0, le client est créé en tant que OIDC Conformant. Docebo ne fonctionne pas avec des clients OIDC Conformant car il utilise la pipeline legacy de Auth0. Veuillez désactiver ce paramètre dans votre compte Admin Auth0 :
Dans votre plateforme, cette section vous permet de créer instantanément un utilisateur qui est présent dans votre Fournisseur d’Identité mais qui n’est pas encore présent dans les bases de données de la plateforme. Commencez par cocher l’option Activer. Vous pouvez également cocher l’option de verrouiller les champs d’utilisateurs provisionnés, ce qui veut dire que les utilisateurs ne peuvent pas modifier les détails de leur profil utilisateur créés via Auth0. Quand ils modifient leur profil utilisateur, ces options seront grisées.
Si vous avez des utilisateurs existants dans les deux bases de données, vous devez cocher l’option de mettre à jour les informations pour les utilisateurs existants. Veuillez noter que si vous ne cochez pas ces options, vous devrez enregistrer manuellement (option activer) ou mettre à jour vos utilisateurs (option mise à jour) dans la plateforme.
Spécifiez quels champs supplémentaires vous souhaitez associer entre votre Fournisseur d’Identité et Docebo et faites correspondre les noms des champs dans Docebo avec les noms des champs dans le Fournisseur d’Identité (attribute statement). Veuillez noter que chaque champ doit être unique, cela veut dire que vous ne pouvez pas appliquer le même claim à plusieurs champs.
Dans la zone de texte, tapez le nom du champ supplémentaire dans la plateforme, puis cliquez sur Ajouter. Le champ supplémentaire apparaitra dans la liste s'affichant en-dessous avec le nom du champ et la catégorie du champ automatiquement remplis par votre plateforme. Entrez l’attribut de votre Fournisseur d’Identité dans la zone de texte correspondante.
Une fois terminé, cliquez sur Enregistrer les Modifications.
Auth0 pour les Clients Extended Enterprise
Si vous souhaitez mettre en place Auth0 pour un client spécifique que vous avez créé en utilisant l’application Extended Enterprise, accédez au Menu Admin, recherchez la section Extended Enterprise puis cliquez sur Gérer. Recherchez votre client dans la liste et cliquez sur l’icône engrenage dans la ligne correspondante. Recherchez l’onglet Auth0-Paramètres dans le menu de gauche. Puis, suivez les étapes décrites ci-dessus pour remplir la page de paramètres.
Se Connecter en Utilisant des Identifiants Auth0
Pour vous connecter à la plateforme en utilisant vos identifiants Auth0, cliquez sur le bouton Connexion sur la page de connexion de la plateforme et cliquez sur Auth0 dans la fenêtre pop-up.
Configurer Auth0 pour l’application Go.Learn
Si vous utilisez Auth0 pour l’Ouverture de Session Unique (SSO) sur l’application Go.Learn, vous aurez besoin de configurer les champs Application Type et Allowed Callback URLs dans Auth0 afin que vos apprenants puissent se connecter à l’application en utilisant Auth0.
Le champ Application Type doit être défini sur Native et vous devez ajouter les URL suivantes dans la section Allowed Callback URLs (remplaçant {AUTH0_DOMAIN} avec votre propre domaine Auth0 en utilisant le nom de domaine FQDN - Fully qualified domain name) :
- com.docebo.eolo.staging://{AUTH0_DOMAIN}/ios/com.docebo.eolo.staging/callback
- com.docebo.eolo.staging://{AUTH0_DOMAIN}/android/com.docebo.eolo.staging/callback
Vous devez configurer ces deux champs aussi tôt que possible afin de vous assurer que vos utilisateurs peuvent accéder à l’application Go.Learn en utilisant Auth0. A partir du 2 avril 2019, si vous n’avez pas configuré ces deux champs correctement, vos utilisateurs ne pourront pas avoir accès à Go.Learn en utilisant le SSO Auth0.
Flux d'Authentification
Dès le 26 Octobre 2021, Docebo a mis en place un token a courte durée de vie afin d'assurer une meilleure sécurité :
Flux d'Authentification Précédent
Avant le 26 Octobre 2021, la plateforme Docebo envoyait une requête au Fournisseur d'Identité (Identity Provider - IdP) et recevait un token d'accès permanent.
Chaque SSO a un processus légèrement différent mais tous retournent un lien vers la plateforme Docebo avec un token d'accès dans l'URL :
https://mylms.docebosaas.com/learn/home;type=oauth2_response;reenter_cc=0;access_token=9b8de7ed2af145dee78aa4282bf1d3b17baf02cd;expires_in=3600;token_type=Bearer;scope=api
Flux d'Identification avec un Token à Courte Durée de Vie
Le flux d'authentification mis à jour fournit une sécurité supplémentaire en remplaçant le token fourni par le fournisseur d'identité avec un token d'accès utilisé en interne :
Chaque SSO a un processus légèrement différent mais tous retournent un lien vers la plateforme Docebo avec un token à courte durée de vie dans l'URL. Le token à courte durée de vie est à utilisation unique est a une durée de de vie de 30 secondes, il peut être échangé pour des vrais identifiants :
https://mylms.docebosaas.com/learn/signin;type=token_exchange;exchange_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSU
La plateforme Docebo l'échange automatiquement et en interne par des appels POST contre le token d'accès réel. Cela augment la sécurité mais ne modifie pas le comportement général du SSO.
Bonnes Pratiques
Lorsqu’une intégration SSO et un domaine personnalisé sont configurés en même temps, il est fortement recommandé de configurer le Domaine Personnalisé en premier. Les URL de endpoint nécessaires à l’intégration SSO dépendent de l’URL de la plateforme.