Hướng dẫn cấu hình CORS cho API Webhook trong API Designer

Chia sẻ tài nguyên gốc chéo (CORS) là một cơ chế bảo mật của trình duyệt hạn chế các trang web gửi yêu cầu đến một miền khác ngoài miền đã phục vụ trang web. Điều này được thực hiện để bảo vệ người dùng khỏi các trang web độc hại cố gắng truy cập dữ liệu nhạy cảm từ một trang web khác mà không được phép.

Giới thiệu chung

Vtiger's API Designer được tạo ra như một công cụ mạnh mẽ đóng vai trò như một workbench cho các nhà phát triển để xây dựng API tùy chỉnh dựa trên HTTP một cách dễ dàng. Các API này có thể được tích hợp liền mạch với API JavaScript VTAP hoặc các ứng dụng bên ngoài.

Chúng tôi đã thêm một tính năng trong API Designer để chỉ định các miền được phép (các miền có thể được đưa vào Danh sách trắng). Chỉ những miền được đưa vào Danh sách trắng này mới được phép thực hiện các yêu cầu CORS.

Hãy cùng tìm hiểu thêm về CORS và ứng dụng của nó.

Mục tiêu

Mục tiêu chính của việc kích hoạt CORS:

  • Cho phép giao tiếp an toàn giữa các ứng dụng giao diện người dùng và CRM.
  • Cho phép gọi API webhook từ các ứng dụng phía máy khách hoặc cổng thông tin bên ngoài.
  • Ngăn ngừa lỗi CORS ở phía trình duyệt.
  • Bảo vệ dữ liệu CRM khỏi các tên miền trái phép.

Triển khai kỹ thuật

Khi tạo API Webhook trong API Designer, có một tùy chọn để thêm một miền vào cấu hình. Tên miền này đại diện cho nguồn gốc (trang web hoặc ứng dụng) sẽ thực hiện yêu cầu hoặc nhận dữ liệu từ Vtiger. 

Sau khi tên miền được thêm vào:

  • Vtiger sẽ cho phép yêu cầu chéo nguồn gốc từ miền đó.
  • API webhook sẽ bắt đầu nhận dữ liệu thành công từ CRM.
  • Trình duyệt sẽ chặn mọi yêu cầu đến từ tên miền không có trong danh sách trắng.

Thiết lập này đảm bảo rằng API webhook có thể hoạt động an toàn theo đúng mục đích mà không cần proxy hoặc giải pháp thay thế, đồng thời vẫn duy trì quyền kiểm soát đối với những miền được phép tương tác với Vtiger.

Ví dụ

Nếu một ứng dụng web được lưu trữ tại https://app.example.com cố gắng gửi yêu cầu đến API tại https://api.vtiger.com, trình duyệt sẽ chặn yêu cầu trừ khi API cho phép rõ ràng thông qua tiêu đề CORS.

Để tương tác này có thể thực hiện được và an toàn, máy chủ phải phản hồi bằng các tiêu đề đặc biệt (như Access-Control-Allow-Origin) để cho trình duyệt biết nguồn gốc (tên miền) nào được phép truy cập vào máy chủ.

Trong trường hợp của Vtiger, cho phép Danh sách trắng CORS cho phép các miền đáng tin cậy tương tác với CRM (chẳng hạn như gửi yêu cầu webhook hoặc gọi API) mà không bị trình duyệt chặn.

Trường hợp sử dụng

Bạn có một ứng dụng giao diện được lưu trữ tại https://portal.mycompany.com cần gửi yêu cầu API webhook đến phiên bản Vtiger CRM của bạn tại https://crm.mycompany.com.

Vấn đề

Trình duyệt chặn yêu cầu do lỗi CORS: Quyền truy cập để lấy dữ liệu tại 'https://crm.mycompany.com/webhook' từ nguồn 'https://portal.mycompany.com' đã bị chính sách CORS chặn.

Dung dịch Thêm https://portal.mycompany.com vào CORS Whitelist trong Vtiger. Sau đó, trình duyệt sẽ cho phép yêu cầu vì phản hồi sẽ bao gồm các tiêu đề chính xác.

Các lợi ích

  • Ngăn chặn lỗi yêu cầu liên quan đến CORS trong các ứng dụng giao diện người dùng.
  • Cho phép truy cập an toàn và có kiểm soát vào Vtiger API từ các miền đáng tin cậy.
  • Hỗ trợ tích hợp với các framework front-end hiện đại như React, Angular, Vue, v.v.
  • Loại bỏ nhu cầu sử dụng proxy phụ trợ để xử lý giao tiếp API.
  • Dễ dàng quản lý và cập nhật thông qua giao diện quản trị.

Chúng tôi tin rằng những ví dụ này sẽ cải thiện trải nghiệm của bạn với Vtiger CRM. Chúng tôi muốn đảm bảo rằng các nhà phát triển và người dùng CRM có thể chia sẻ thông tin và kiến ​​thức lẫn nhau để thúc đẩy chức năng của CRM. 

Hãy theo dõi để biết thêm. Chúc bạn lập trình vui vẻ!

 
 

Đăng ký để nhận thông tin cập nhật mới nhất!