API デザイナーの Webhook API の CORS 構成ガイド

クロスオリジンリソース共有(CORS)は、ウェブページが、そのウェブページを提供しているドメインとは異なるドメインへのリクエストを行うことを制限するブラウザセキュリティメカニズムです。これは、悪意のあるウェブサイトが許可なく別のサイトの機密データにアクセスしようとするのを防ぐために行われます。

概要

VtigerのAPIデザイナーは、開発者がHTTPベースのカスタムAPIを簡単に構築するためのワークベンチとして機能する強力なツールとして開発されました。これらのAPIは、VTAP JavaScript APIや外部アプリケーションとシームレスに統合できます。

APIデザイナーに、許可されたドメイン(ホワイトリストに登録可能なドメイン)を指定する機能を追加しました。ホワイトリストに登録されたドメインのみがCORSリクエストを送信できるようになります。

CORS とその応用について詳しく学びましょう。

DevOps Tools Engineer試験のObjective

CORS を有効にする主な目的:

  • フロントエンド アプリと CRM 間の安全なクロスオリジン通信を許可します。
  • クライアント側のアプリケーションまたは外部ポータルからの Webhook API 呼び出しを有効にします。
  • ブラウザ側の CORS エラーを防止します。
  • 不正なドメインから CRM データを保護します。

技術的な実装

APIデザイナーでWebhook APIを作成するときに、 ドメインを追加する 設定に追加します。このドメインは、Vtiger にリクエストを送信したり、Vtiger からデータを受信するオリジン(ウェブサイトまたはアプリケーション)を表します。 

ドメインが追加されたら:

  • Vtigerは クロスオリジンリクエストを許可する そのドメインから。
  • Webhook APIが起動します データを正常に受信しました CRM から。
  • ブラウザは、以下のリクエストをブロックします。 ホワイトリストに登録されていないドメイン.

この設定により、バックエンド プロキシや回避策を必要とせずに、Webhook API が意図したとおりに安全に機能できるようになり、同時にどのドメインが Vtiger と対話できるかの制御も維持されます。

例:

https://app.example.com でホストされている Web アプリケーションが https://api.vtiger.com の API にリクエストを送信しようとすると、API が CORS ヘッダーを通じて明示的に許可しない限り、ブラウザはリクエストをブロックします。

このやり取りを可能にして安全にするために、サーバーは、どのオリジン(ドメイン)がアクセスを許可されているかをブラウザに伝える特別なヘッダー(Access-Control-Allow-Origin など)で応答する必要があります。

Vtigerの場合、 CORSホワイトリスト 信頼できるドメインがブラウザによってブロックされることなく CRM と対話 (Webhook リクエストの送信や API の呼び出しなど) できるようになります。

ユースケース

https://portal.mycompany.com でホストされているフロントエンド アプリケーションがあり、https://crm.mycompany.com の Vtiger CRM インスタンスに webhook API リクエストを送信する必要があります。

問題

ブラウザは、CORS エラーのためリクエストをブロックします: オリジン 'https://portal.mycompany.com' から 'https://crm.mycompany.com/webhook' へのフェッチへのアクセスは、CORS ポリシーによってブロックされています。

解決策 https://portal.mycompany.com をVtigerのCORSホワイトリストに追加します。これにより、レスポンスに正しいヘッダーが含まれるため、ブラウザはリクエストを許可するようになります。

公式サイト限定

  • フロントエンド アプリケーションでの CORS 関連のリクエストの失敗を防ぎます。
  • 信頼できるドメインから Vtiger API への安全で制御されたアクセスを許可します。
  • React、Angular、Vue などの最新のフロントエンド フレームワークとの統合をサポートします。
  • API 通信を処理するためのバックエンド プロキシの必要性を排除します。
  • 管理インターフェースを介して簡単に管理および更新できます。

これらの例により、Vtiger CRM のエクスペリエンスが向上すると確信しています。開発者と CRM ユーザーが相互に情報と知識を共有し、CRM の機能をさらに向上できるようにしたいと考えています。 

今後もご期待ください。楽しいコーディングを!

 
 

サインアップして最新のアップデートを受け取りましょう!