Guide de configuration CORS pour les API Webhook dans API Designer

Le partage de ressources cross-origine (CORS) est un mécanisme de sécurité des navigateurs qui empêche les pages web d'envoyer des requêtes à un domaine différent de celui qui les a hébergées. Ce mécanisme vise à protéger les utilisateurs contre les sites web malveillants qui tentent d'accéder sans autorisation aux données sensibles d'un autre site.

Vue d'ensemble

L'API Designer de Vtiger est un outil puissant qui permet aux développeurs de créer facilement des API HTTP personnalisées. Ces API s'intègrent parfaitement aux API JavaScript VTAP ou aux applications externes.

Nous avons ajouté une fonctionnalité dans le concepteur d'API pour spécifier les domaines autorisés (domaines pouvant être ajoutés à la liste blanche). Seuls ces domaines seront autorisés à effectuer des requêtes CORS.

Apprenons-en davantage sur CORS et son application.

Objectif

Les principaux objectifs de l’activation du CORS :

  • Autoriser une communication inter-origines sécurisée entre les applications frontales et le CRM.
  • Activez les appels d’API webhook à partir d’applications côté client ou de portails externes.
  • Empêcher les erreurs CORS côté navigateur.
  • Protégez les données CRM contre les domaines non autorisés.

Mise en œuvre technique

Lors de la création d'une API Webhook dans le concepteur d'API, il existe une option permettant ajouter un domaine à la configuration. Ce domaine représente l'origine (le site web ou l'application) qui effectuera les requêtes ou recevra les données de Vtiger. 

Une fois le domaine ajouté :

  • Vtiger le fera autoriser les demandes d'origine croisée de ce domaine.
  • L'API webhook va démarrer réception réussie des données du CRM.
  • Le navigateur bloquera toutes les requêtes provenant de domaines non-listés blancs.

Cette configuration garantit que l'API webhook peut fonctionner en toute sécurité comme prévu sans nécessiter de proxys backend ou de solutions de contournement, tout en conservant le contrôle sur les domaines autorisés à interagir avec Vtiger.

Exemple

Si une application Web hébergée sur https://app.example.com tente d'envoyer une requête à une API sur https://api.vtiger.com, le navigateur bloquera la requête à moins que l'API ne l'autorise explicitement via les en-têtes CORS.

Pour rendre cette interaction possible et sécurisée, le serveur doit répondre avec des en-têtes spéciaux (comme Access-Control-Allow-Origin) qui indiquent au navigateur quelles origines (domaines) sont autorisées à y accéder.

Dans le cas de Vtiger, l'activation Liste blanche CORS permet aux domaines de confiance d'interagir avec le CRM (comme l'envoi de requêtes webhook ou l'appel d'API) sans être bloqués par le navigateur.

Cas d'utilisation

Vous disposez d'une application frontale hébergée sur https://portal.mycompany.com qui doit envoyer des requêtes API webhook à votre instance Vtiger CRM sur https://crm.mycompany.com.

Problème

Le navigateur bloque la demande en raison d'une erreur CORS : l'accès à la récupération sur « https://crm.mycompany.com/webhook » depuis l'origine « https://portal.mycompany.com » a été bloqué par la politique CORS.

Solution Ajoutez https://portal.mycompany.com à la liste blanche CORS dans Vtiger. Le navigateur autorisera ensuite la requête, car la réponse contiendra les en-têtes corrects.

Les Avantages

  • Empêche les échecs de requête liés à CORS dans les applications frontales.
  • Permet un accès sécurisé et contrôlé aux API Vtiger à partir de domaines de confiance.
  • Prend en charge l'intégration avec les frameworks frontend modernes tels que React, Angular, Vue, etc.
  • Supprime le besoin de proxys backend pour gérer la communication API.
  • Facile à gérer et à mettre à jour via l'interface d'administration.

Nous pensons que ces exemples amélioreront votre expérience avec Vtiger CRM. Nous voulons nous assurer que les développeurs et les utilisateurs du CRM peuvent partager mutuellement des informations et des connaissances pour améliorer les fonctionnalités du CRM. 

Restez à l'écoute pour en savoir plus. Bon codage !

 
 

Inscrivez-vous pour recevoir les dernières mises à jour!