Choisir la bonne option
Base44 propose plusieurs façons d’accéder à un autre service. Créer votre propre flux de connexion demande le plus de travail. Vérifiez donc d’abord si l’une des options plus simples couvre votre service. Choisissez l’option adaptée à votre service :- Le service figure dans le catalogue des connecteurs : utilisez un connecteur. Base44 gère la connexion, stocke les jetons et les maintient à jour pour vous. Un connecteur utilisateur de l’application permet à chaque personne de connecter son propre compte. Si un connecteur du catalogue demande votre propre client OAuth, il s’agit toujours d’un connecteur. Vous n’avez donc pas besoin de cette page.
- Le service vous fournit une clé d’API : enregistrez la clé comme secret et demandez au chat IA d’appeler le service depuis une fonction backend. Pour partager une API dans tout votre espace de travail, utilisez une intégration OpenAPI personnalisée.
- Le service exige une connexion OAuth2 et n’est pas un connecteur : créez le flux avec des fonctions backend, comme le décrit cette page.
Les intégrations OpenAPI personnalisées et les connexions MCP ne peuvent pas connecter le compte de chaque personne. Une intégration OpenAPI personnalisée envoie les mêmes informations de connexion à chaque appel, quelle que soit la personne qui utilise votre application. Les connexions MCP que vous ajoutez servent uniquement au chat IA pendant que vous créez, pas à votre application publiée.
Fonctionnement
Base44 ne stocke ni n’actualise les jetons des services qui ne figurent pas dans le catalogue. Votre application s’en charge donc dans ses propres fonctions backend. Le chat IA les écrit pour vous. Un flux de connexion personnalisé comporte 4 parties :- Bouton de connexion : une fonction backend envoie la personne vers la page de connexion du service, avec un code à usage unique qui lie la demande à elle.
- Fonction de callback : après l’approbation de l’accès, le service renvoie la personne vers une fonction backend de votre application. Celle-ci vérifie le code à usage unique et échange la réponse du service contre les jetons de cette personne.
- Table de jetons : les jetons sont enregistrés dans une table de données, un enregistrement par personne. Seules vos fonctions backend la lisent, jamais les pages de votre application.
- Fonctions d’API : des fonctions backend appellent le service avec le jeton de cette personne. Elles utilisent le jeton d’actualisation pour en obtenir un nouveau à son expiration.
Enregistrer votre application OAuth
Avant que votre application puisse connecter quelqu’un, vous l’enregistrez auprès du service. Le service vous fournit un ID client et un secret client, et vous demande où renvoyer les personnes après leur connexion. Cette adresse est l’URL publique de votre fonction de callback. Chaque fonction backend a sa propre URL publique, au format suivant :https://your-domain.com/functions/yourFunctionName. Si le service accepte plusieurs URI de redirection, ajoutez les 2 adresses. Choisissez dès maintenant le nom de la fonction de callback, comme enedisCallback, pour pouvoir donner le même nom au chat IA plus tard.
Pour enregistrer votre application auprès du service :
- Connectez-vous au portail développeur du service et créez une application OAuth. Certains services l’appellent client ou application.
- Saisissez l’URL de votre fonction de callback comme URI de redirection, par exemple
https://your-app-name.base44.app/functions/enedisCallback. - Choisissez uniquement les scopes dont votre application a besoin.
- Copiez l’ID client et le secret client.
- Copiez l’URL d’autorisation et l’URL de jeton du service depuis sa documentation développeur.
Créer le flux de connexion
Le chat IA écrit les fonctions, la table de jetons et les boutons sur lesquels les personnes cliquent. Donnez-lui les informations de la documentation développeur du service, car il ne peut pas trouver seul les paramètres de connexion d’un service privé. Pour créer le flux de connexion :- Accédez à l’éditeur de votre application.
-
Demandez au chat IA de créer le flux, avec les URL du service, vos scopes et le nom de la fonction de callback que vous avez enregistré. Par exemple :
- Quand le chat IA vous demande votre ID client et votre secret client, saisissez-les dans le formulaire qu’il affiche.
- Vérifiez que la fonction de callback porte exactement le nom que vous avez enregistré. Sinon, demandez au chat IA de la renommer.
- Cliquez sur Tableau de bord.
- Cliquez sur Données, puis sélectionnez la table de jetons.
- Cliquez sur Permissions en haut de la table, et vérifiez que seuls les admins peuvent créer, lire, mettre à jour ou supprimer des enregistrements. En savoir plus dans Modifier les autorisations des données.
- Cliquez sur Test permissions in preview, puis agissez en tant qu’utilisateur standard et vérifiez qu’il ne voit aucun enregistrement dans la table de jetons.
Publier et tester
Le service renvoie toujours les personnes vers votre application publiée. Le callback exécute donc la dernière version publiée de la fonction, avec les secrets qu’elle avait alors. Publiez votre application avant de tester, et publiez à nouveau chaque fois que vous modifiez une fonction ou un secret. Pour tester la connexion :- Accédez à l’éditeur de votre application.
- Publiez votre application.
- Ouvrez votre application publiée et connectez-vous.
- Cliquez sur le bouton de connexion ajouté par le chat IA.
- Connectez-vous au service avec un compte que vous êtes autorisé à utiliser, puis approuvez l’accès.
Comment les personnes se connectent
Chaque personne qui se connecte à votre application connecte son propre compte. Elle clique sur le bouton de connexion, se connecte sur la page du service et approuve l’accès. Votre application ne voit jamais son mot de passe pour le service. Ses jetons sont enregistrés dans la table de jetons de votre application, que seules vos fonctions backend utilisent. Vous et les autres éditeurs de votre application pouvez quand même voir cette table dans votre tableau de bord. Traitez-la donc comme toute autre donnée privée. Ne demandez aux personnes de connecter que des comptes qui leur appartiennent ou qu’elles sont autorisées à utiliser, et demandez uniquement l’accès dont votre application a besoin. Indiquez-leur dans votre application quelles données vous lisez et ce que vous en faites. Certains services, surtout ceux qui partagent des données personnelles ou relatives au foyer, ont leurs propres règles de consentement. Vérifiez donc les conditions du service avant de publier.Dépannage
Si le flux de connexion ne fonctionne pas, trouvez votre situation ci-dessous.Le service indique que l'URI de redirection ne correspond pas
Le service indique que l'URI de redirection ne correspond pas
L’URL de callback enregistrée auprès du service doit correspondre exactement à l’URL de votre fonction. Vérifiez qu’elle utilise le même domaine que votre application, et que le nom de la fonction correspond à son dossier dans Code, sous
base44/functions, majuscules comprises.Je reviens dans mon application, mais mon compte n'est pas connecté
Je reviens dans mon application, mais mon compte n'est pas connecté
Publiez votre application, puis réessayez depuis votre application publiée. Si cela échoue encore, ouvrez le fichier de la fonction de callback dans Code, cliquez sur Logs et collez l’erreur dans le chat IA pour qu’il corrige la fonction.
Les personnes doivent se reconnecter trop souvent
Les personnes doivent se reconnecter trop souvent
Le jeton d’accès expire probablement sans être actualisé. Demandez au chat IA de l’actualiser avec le jeton d’actualisation. Certains services n’envoient un jeton d’actualisation que si vous demandez un scope ou un paramètre précis. Vérifiez donc la documentation du service.
Cette page a été traduite par IA. Pour les informations les plus précises et à jour, consultez la version anglaise.