この記事の目次
CORSとは?

オリジンとは?
オリジンとは、スキーム、ホスト、ポートの3つのことを指します。 例えば、Webアドレスが「http://example.com」の場合だと、スキーム=http、ホスト=example.com、ポート=80となります。(httpの既定のポートは80番を使用します) 次のWebアドレスは、スキーム、ホスト、ポートの3つが同じなので、同一オリジンになります。 http://example.com/page1/index.html http://example.com/page2/index.html 次の場合は、異なるオリジンになります。 例1) スキームが異なる http://example.com/page1 https://example.com/page2 例2) ホストが異なる http://example.com/page1 http://sample.com/page2CORSの仕組み
CORSは、あるオリジンで動作しているWebアプリケーションが、別のオリジンにアクセスすることを許可する仕組みのことです。 例えば、オリジンAのWebアプリケーションが、別のオリジンBのリソースを共有するために、オリジンAがオリジンBのサーバにHTTPリクエストを送り、オリジンBがそのリクエストを許可する仕組みをCROSが行っています。SalesforceのCORSとは?

CORSが使用できるSalesforceエディション
CORSが使用できるSalesforceエディションは次の通りです。 CORSが使用できるエディションは、Developer、Enterprise、Performance、Unlimited Editionsです。また、APIアクセスを有効にすれば、Professional Editionでも使用可能になります。CORSをサポートするSalesforce API
以下のSalesforce APIがCORSをサポートしています。 1.Analytics REST API 2.Bulk API 3.Connect REST API 4.Salesforce IoT REST API 5.Lightning Out 6.REST API 7.ユーザーインターフェイスAPI 8.Apex RESTSalesforce CORS許可リストへの追加
Salesforceからコードを提供するオリジンをCORS許可リストに追加します。 CORS許可リストに登録したオリジンがSalesforceにリクエストを送信すると、Salesforceは追加のCORSHTTP Access-Control-Allow-Originヘッダーと共にHTTPヘッダーのオリジンを返します。 オリジンが許可リストに登録されていない場合は、SalesforceはHTTPステータスコード403を返します。 CORS許可リストへの登録する方法は以下の通りです。 1.[設定]のクイック検索にCORSを入力します。 2.検索結果のCORSを選択します。 3.[新規]を選択します。 4.オリジンのURLを登録します。Salesforce CORS許可リストの登録内容
CORS許可リストに登録するオリジンのURLは、HTTPSプロトコル(ローカルホストは除く)およびドメイン名を含める必要があります。 オリジンのURLにポートを含めることも可能です。また、ワイルドカード文字(*)もサポートされており、セカンドレベルのドメイン名の前に設定することが可能です。例えば、「https://*.example.com」のように設定すると、すべてのサブドメインが許可されます。 オリジンのURLは、IPアドレスで登録することも可能です。ただし、同じURLでも、IPアドレス指定とドメイン指定は異なるオリジンになるため、それぞれをCORS許可リストに登録する必要があります。 オリジンのURLとブラウザのアドレスバーに表示されるURLが一致しない場合があります。この場合は、リクエストヘッダーにてオリジンを許可していることを確認してください。Salesforce CORS許可リストの例
Salesforce CORS許可リストの例を説明します。 例1) CORS許可リストに「https://salesforce.com」を登録している場合、「https://salesforce.com:6109」からの要求は受け付けます。 例2) CORS許可リストに「https://salesforce.com:6109」を登録している場合、「https://salesforce.com」からの要求は受け付けません。 例3) CORS許可リストに「https://*.salesforce.com」を登録している場合、「https://trailhead.salesforce.com」からの要求は受け付けます。 例4) CORS許可リストに「https://trailhead.salesforce.com」を登録している場合、「https://salesforce.com」からの要求は受け付けます。SalesforceのCORSを活用しよう!
