Passer au contenu principal
Certains services, comme les fournisseurs de données sur l’énergie, la banque ou l’industrie, ne partagent des données qu’après que le titulaire du compte s’est connecté sur la page du service et a approuvé l’accès. Ce mécanisme s’appelle OAuth2. Quand le service ne figure pas dans le catalogue des connecteurs, vous pouvez quand même le connecter. Demandez au chat IA de créer le flux de connexion avec des fonctions backend.
Vous avez besoin d’un forfait Builder ou supérieur pour utiliser les fonctions backend.

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.
Votre application doit demander aux personnes de se connecter, pour savoir à qui appartient chaque connexion. En savoir plus dans Gérer la connexion et l’inscription.

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 :
Utilisez l’adresse sur laquelle les personnes ouvrent votre application. Si vous avez connecté un domaine personnalisé, utilisez plutôt ce domaine, par exemple 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 :
  1. Connectez-vous au portail développeur du service et créez une application OAuth. Certains services l’appellent client ou application.
  2. Saisissez l’URL de votre fonction de callback comme URI de redirection, par exemple https://your-app-name.base44.app/functions/enedisCallback.
  3. Choisissez uniquement les scopes dont votre application a besoin.
  4. Copiez l’ID client et le secret client.
  5. 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é.
Ne saisissez jamais votre secret client dans un message du chat. Quand le chat IA vous le demande, saisissez-le dans le formulaire qu’il affiche, ou ajoutez-le vous-même comme secret. Base44 ne détecte et ne masque que les clés de services connus. Un secret d’un autre service reste donc dans votre message.
Pour créer le flux de connexion :
  1. Accédez à l’éditeur de votre application.
  2. 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 :
  3. Quand le chat IA vous demande votre ID client et votre secret client, saisissez-les dans le formulaire qu’il affiche.
  4. Vérifiez que la fonction de callback porte exactement le nom que vous avez enregistré. Sinon, demandez au chat IA de la renommer.
  5. Cliquez sur Tableau de bord.
  6. Cliquez sur Données, puis sélectionnez la table de jetons.
  7. 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.
  8. 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 :
  1. Accédez à l’éditeur de votre application.
  2. Publiez votre application.
  3. Ouvrez votre application publiée et connectez-vous.
  4. Cliquez sur le bouton de connexion ajouté par le chat IA.
  5. 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.
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.
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.
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.