Plugin de connexion L2L - Configuration
Last updated: June 19, 2026
Le plugin de connexion L2L est l’un des composants du projet L2L Studio. L’objectif principal de ce plugin est de vous permettre d’utiliser L2L comme fournisseur SSO pour votre application L2L Studio. Cela vous permet de maintenir un niveau élevé de sécurité autour de vos données.
Ce guide expliquera comment ajouter le plugin de connexion L2L à n’importe quelle application Bubble.
Configuration du plugin de connexion L2L sur un projet existant
- Ajoutez le plugin L2L Login à votre application
- Activez l’API Workflow dans l’éditeur Bubble. Allez dans Paramètres → API et cochez la case située à côté de « Enable Workflow API and backend workflows. » Notez l’URL racine de l’API Workflow, car elle sera utilisée ultérieurement.
- Ajoutez un paramètre supplémentaire au type de données User. Allez dans l’onglet Données et cliquez sur le type de données « User ». Ajoutez le champ suivant avec le type indiqué :
- LoginError → texte
- Ajoutez un nouveau type de données pour contenir les variables utilisées pour la configuration de la connexion. Allez dans l’onglet Données et créez un nouveau type de données appelé « LoginConfig ». Sous le nouveau type de données LoginConfig, ajoutez les nouveaux champs suivants avec le type de données indiqué :
- AuthExpiresMinutes → nombre
- BubbleAppCertificate → texte
- BubbleAppPrivateKey → texte
- BubbleAppURL → texte
- CallbackURL → texte
- DispatchCertificate → texte
- DispatchServer → texte
- Ajoutez un nouveau type de données pour contenir les sessions utilisateur. Allez dans l’onglet Données et créez un nouveau type de données appelé « UserSession ». Ajoutez les champs suivants :
- AuthExpires → date
- NameId → texte
- UserUniqueId → texte
- Créez une nouvelle page en cas d’erreur de connexion.
- Appelez la nouvelle page « login_error »
- Créez un élément texte avec le contenu dynamique suivant :
Current User’s LoginError
- Créez un nouveau workflow API pour gérer le rappel d’authentification du serveur L2L Dispatch.
- Dans l’éditeur Bubble, accédez au sélecteur de page et choisissez « Backend workflows ».
- Cliquez sur la zone en pointillés pour créer un nouveau workflow backend, choisissez « New API workflow… » et saisissez les éléments suivants dans la boîte de dialogue :
- Nom du workflow API : login_complete
- Exposer comme workflow API public : coché
- Ce workflow peut être exécuté sans authentification : coché
- Ignorer les règles de confidentialité lors de l’exécution du workflow : non coché
- Déclencher le workflow avec : POST
- Définition des paramètres : définition manuelle
- Ajouter un nouveau paramètre :
- Clé : SAMLResponse
- Type : texte
- Est une liste/tableau : non coché
- Facultatif : non coché
- Querystring : non coché
- Ajouter un nouveau paramètre :
- Clé : sessionid
- Type : texte
- Est une liste/tableau : non coché
- Facultatif : coché
- Querystring : coché
- Ajouter un nouveau paramètre :
- Clé : user_unique_id
- Type : texte
- Querystring : coché
- Type de réponse : redirection de page (302)
- Redirection en cas de succès : index
- Redirection en cas d’erreur : login_error
- Ajoutez une nouvelle action en cliquant sur la zone en pointillés contenant le texte « Click here to add an action… » et choisissez Action → Plugins → validate_response. Saisissez les éléments suivants dans la boîte de dialogue :
- Réponse :
SAMLResponse - Certificat Dispatch :
Search for LoginConfigs:first item’s DispatchCertificate - URL de l’application Bubble
Search for LoginConfigs:first item’s BubbleAppURL - Serveur
Search for LoginConfigs:first item’s DispatchServer
- Réponse :
- Ajoutez une autre action et choisissez Données (Things) → Créer une nouvelle chose...
- Dans la boîte de dialogue, choisissez
UserSessioncomme Type - Cliquez sur « Définir un autre champ » pour chacun des éléments suivants :
AuthExpires = Current date/time +(minutes): Search for LoginConfigs:first item's AuthExpiresMinutesNameId = Result of step 1 (validate_response)’s Name IDUserUniqueId = user_unique_id
- Saisissez ce qui suit dans la section « Uniquement lorsque » :
Result of step 1 (validate_response)’s Is Authenticated is “yes”
- Dans la boîte de dialogue, choisissez
- Ajoutez une dernière action et choisissez Compte → Modifier l’utilisateur actuel.
- Dans la boîte de dialogue, cliquez sur « Modifier un autre champ » et saisissez ce qui suit :
LoginError = Result of step 1 (validate_response)’s Error
- Dans la boîte de dialogue, cliquez sur « Modifier un autre champ » et saisissez ce qui suit :
- Ajoutez un nouveau workflow réutilisable qui sera utilisé pour forcer les utilisateurs à se connecter.
- Dans le sélecteur de page, cliquez sur « Ajouter un nouvel élément réutilisable… » et appelez le nouvel élément réutilisable : L2L Login
- Cliquez sur l’onglet Workflow
- Ajoutez un nouvel événement en cliquant sur la zone en pointillés appelée « Click here to add an event… » et cliquez sur Personnalisé → Créer un événement personnalisé…
- Saisissez les éléments suivants dans la boîte de dialogue :
- Nom de l’événement : L2L Login
- Uniquement lorsque :
Search for UserSessions - Dans la boîte Search for UserSessions, saisissez les éléments suivants :
- Type :
UserSession - Ajoutez les contraintes suivantes :
UserUniqueId = CurrentUser's unique idAuthExpires > Current date/time
- Type :
- Mettez à jour la section « Uniquement lorsque » dans la boîte L2L Login afin qu’elle affiche :
Search for UserSessions:count is 0 - Ajoutez une nouvelle action en cliquant sur la zone en pointillés appelée « Click here to add an action… »
- Sélectionnez Plugins → get_l2l_login_url
- Dans la boîte de dialogue, saisissez les éléments suivants :
- Serveur Dispatch :
Search for LoginConfigs:first item’s DispatchServer - Clé privée de l’application Bubble :
Search for LoginConfigs: first item’s BubbleAppPrivateKey - Certificat de l’application Bubble :
Search for LoginConfigs:first item’s BubbleAppCertificate - URL de l’application Bubble :
Search for LoginConfigs:first item’s BubbleAppURL - URL de rappel* :
Search for LoginConfigs:first item’s CallbackURL- *Pour la version 2.0.0 et les versions précédentes, utilisez l’expression suivante pour l’URL de rappel :
Search for LoginConfigs:first item’s CallbackURLArbitrary TextCurrentUser's unique idet saisissez le texte suivant pour l’entrée Arbitrary Text :?user_unique_id=
- *Pour la version 2.0.0 et les versions précédentes, utilisez l’expression suivante pour l’URL de rappel :
- ID utilisateur unique :
CurrentUser's unique id
- Serveur Dispatch :
- Ajoutez une nouvelle action en cliquant sur « Click here to add action… »
- Sélectionnez Navigation → Ouvrir un site Web externe
- Dans la boîte de dialogue, saisissez les éléments suivants :
- Destination :
Result of step 1 (get_l2l_login_url)’s login_url
- Destination :
- Définissez la hauteur de l’élément réutilisable sur 0 afin de pouvoir l’ajouter à chaque page
- Accédez à l’onglet Design
- Sélectionnez la boîte blanche
- Dans la boîte de dialogue, sélectionnez l’onglet Apparence
- Définissez la hauteur sur : 0
- Ajoutez le workflow L2L Login à chaque page où l’authentification est requise. Ce guide vous montrera comment l’ajouter à la page index.
- Sélectionnez « index » dans le sélecteur de page et sélectionnez l’onglet Design
- Faites glisser L2L Login depuis la section Éléments réutilisables vers le haut de la page.
- Cliquez sur l’onglet Workflow
- Créez un nouvel événement en cliquant sur la boîte appelée « Click here to add an event… » et choisissez Général → La page est chargée
- Ajoutez une nouvelle action en cliquant sur la boîte appelée « Click here to add an action… »
- Choisissez Événements personnalisés → Déclencher un événement personnalisé depuis un élément réutilisable
- Dans la boîte de dialogue, saisissez les éléments suivants :
- Élément réutilisable : L2L Login A (ou le nom de votre nouvel élément)
- Événement personnalisé : L2L Login
Configurer l’application
- Ajouter un lien vers l’application Studio dans L2L Expédition
- Nous recommandons d’ajouter un lien vers la version de développement dans un site bac à sable, ainsi qu’un lien vers l’application Bubble Live dans vos sites de production. Pour la version de développement, veillez à ajouter
/version-test/à la fin de l’URL Bubble. Pour la version Live, veillez à ne pas l’ajouter.
- Nous recommandons d’ajouter un lien vers la version de développement dans un site bac à sable, ainsi qu’un lien vers l’application Bubble Live dans vos sites de production. Pour la version de développement, veillez à ajouter
- Créez un nouveau certificat auto-signé et une clé qui seront utilisés pour valider l’application Bubble avec le serveur L2L Expédition. Ceux-ci seront utilisés à l’étape 3.
- Téléchargez le certificat L2L.
- Saisissez les nouvelles données de l’application dans Bubble. Lors de la création de l’application, veillez à sélectionner la base de données de développement. Lors du déploiement en production, veillez à sélectionner la base de données Live.
- Accédez à l’onglet Data → App data, sélectionnez « All LoginConfigs », puis cliquez sur le bouton « New entry ».
- Saisissez les éléments suivants dans le nouveau formulaire :
- AuthExpiresMinutes → 720
- 720 minutes correspondent à 12 heures. Vous pouvez personnaliser ce champ selon ce qui convient à votre application.
- BubbleAppCertificate → Copiez-collez l’intégralité du contenu du fichier certificate.pem généré à l’étape 2.
- BubbleAppPrivateKey → Copiez-collez l’intégralité du contenu du fichier key.pem généré à l’étape 2.
- BubbleAppURL → Il s’agit de l’URL de l’application Bubble. Vous la trouverez dans l’éditeur Bubble sous Settings → Domain / email si vous disposez d’un domaine personnalisé. Si vous n’avez pas de domaine personnalisé, vous pouvez la trouver en cliquant sur le bouton « run » dans l’écran de la liste des applications Bubble. Supprimez tout sauf le domaine complet. Il se présentera comme suit :
acme-app.bubbleapps.io- Il sera identique dans vos bases de données Bubble Development et Live. N’ajoutez pas /version-test.
- CallbackURL → Une fois authentifié, L2L renverra le navigateur vers cette URL. Vous devrez construire cette URL. Commencez par copier l’URL qui se trouve dans l’écran Settings → API et qui s’appelle « Workflow API root URL ». Ajoutez ensuite « /login_complete » à la fin. Elle devrait se présenter comme suit :
https://acme-app.bubbleapps.io/version-test/api/1.1/wf/login_complete - DispatchCertificate → Il s’agit du certificat du serveur L2L Expédition. Celui-ci a été téléchargé à l’étape 3.
- DispatchServer → Il s’agit du serveur L2L Expédition du client. Veillez à inclure « https:// ». Il devrait se présenter comme suit :
https://acme.leading2lean.com
- AuthExpiresMinutes → 720
Publier l’application
Maintenant que le plugin L2L a été ajouté, que les données et les flux de travail ont été définis et que l’application a été configurée, vous pouvez publier l’application. Certaines fonctionnalités de Bubble sont désactivées avant la publication, un abonnement doit donc être ajouté afin de tester complètement le plugin de connexion L2L.
Une fois l’application testée, vous devrez la configurer pour le site Live. Suivez simplement les étapes de la section "Configurer l’application" pour votre base de données Live.
Dépannage
Si vous rencontrez des erreurs dans l’application Bubble ou sur le serveur L2L, vérifiez les points suivants :
- Vérifiez chacune des configurations de connexion afin de vous assurer qu’elles ne contiennent pas d’espaces supplémentaires ni de sauts de ligne.
- Assurez-vous que l’URL de l’application Bubble dans votre configuration de connexion correspond à l’URL de la configuration de l’application L2L Studio.