Guida alla configurazione CORS per le API Webhook in API Designer

Cross-Origin Resource Sharing (CORS) è un meccanismo di sicurezza del browser che impedisce alle pagine web di effettuare richieste a un dominio diverso da quello che le ha servite. Questo serve a proteggere gli utenti da siti web dannosi che tentano di accedere a dati sensibili da altri siti senza autorizzazione.

Panoramica

API Designer di Vtiger è stato creato come un potente strumento che funge da banco di lavoro per gli sviluppatori, consentendo loro di creare facilmente API personalizzate basate su HTTP. Queste API possono essere integrate perfettamente con le API JavaScript VTAP o con applicazioni esterne.

Abbiamo aggiunto una funzionalità nell'API Designer per specificare i domini consentiti (domini che possono essere inseriti nella whitelist). Solo questi domini inseriti nella whitelist potranno effettuare richieste CORS.

Scopriamo di più su CORS e sulle sue applicazioni.

Obiettivo

Gli obiettivi principali dell'abilitazione di CORS:

  • Consentire comunicazioni cross-origin sicure tra le app frontend e il CRM.
  • Abilita le chiamate API webhook da applicazioni lato client o portali esterni.
  • Previeni gli errori CORS lato browser.
  • Proteggi i dati CRM da domini non autorizzati.

Implementazione tecnica

Quando si crea un'API Webhook in API Designer, è disponibile un'opzione per aggiungi un dominio alla configurazione. Questo dominio rappresenta l'origine (il sito web o l'applicazione) che effettuerà richieste o riceverà dati da Vtiger. 

Una volta aggiunto il dominio:

  • Vtiger lo farà consentire richieste multi-origine da quel dominio.
  • L'API webhook verrà avviata ricezione dati riuscita dal CRM.
  • Il browser bloccherà tutte le richieste provenienti da domini non autorizzati.

Questa configurazione garantisce che l'API webhook possa funzionare in modo sicuro come previsto, senza richiedere proxy backend o soluzioni alternative, mantenendo comunque il controllo su quali domini sono autorizzati a interagire con Vtiger.

Esempio

Se un'applicazione web ospitata su https://app.example.com tenta di inviare una richiesta a un'API su https://api.vtiger.com, il browser bloccherà la richiesta a meno che l'API non lo consenta esplicitamente tramite le intestazioni CORS.

Per rendere possibile e sicura questa interazione, il server deve rispondere con intestazioni speciali (come Access-Control-Allow-Origin) che indicano al browser quali origini (domini) sono autorizzate ad accedervi.

Nel caso di Vtiger, abilitazione Whitelist CORS consente ai domini attendibili di interagire con il CRM (ad esempio inviando richieste webhook o richiamando API) senza essere bloccati dal browser.

Caso d'uso

Hai un'applicazione frontend ospitata su https://portal.mycompany.com che deve inviare richieste API webhook alla tua istanza Vtiger CRM su https://crm.mycompany.com.

Problema

Il browser blocca la richiesta a causa di un errore CORS: l'accesso al fetch su 'https://crm.mycompany.com/webhook' dall'origine 'https://portal.mycompany.com' è stato bloccato dai criteri CORS.

Soluzione Aggiungi https://portal.mycompany.com alla whitelist CORS in Vtiger. Dopodiché, il browser accetterà la richiesta poiché la risposta includerà gli header corretti.

Vantaggi

  • Previene i fallimenti delle richieste correlate a CORS nelle applicazioni frontend.
  • Consente l'accesso sicuro e controllato alle API Vtiger da domini attendibili.
  • Supporta l'integrazione con framework frontend moderni come React, Angular, Vue, ecc.
  • Elimina la necessità di proxy backend per gestire la comunicazione API.
  • Facile da gestire e aggiornare tramite l'interfaccia di amministrazione.

Crediamo che questi esempi miglioreranno la tua esperienza con Vtiger CRM. Vogliamo garantire che sviluppatori e utenti CRM possano condividere reciprocamente informazioni e conoscenze per migliorare la funzionalità del CRM. 

Restate sintonizzati per saperne di più. Buona programmazione!

 
 

Iscriviti per ricevere gli ultimi aggiornamenti!