2021/05/24

SalesforceのCORSとは?概要や特徴をご紹介します

 
  

CORSとは?

CORSとは、Cross-Origin Resource Sharingの略で、異なるオリジン間でリソースを共有する仕組みのことです。 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/page2

CORSの仕組み

CORSは、あるオリジンで動作しているWebアプリケーションが、別のオリジンにアクセスすることを許可する仕組みのことです。 例えば、オリジンAのWebアプリケーションが、別のオリジンBのリソースを共有するために、オリジンAがオリジンBのサーバにHTTPリクエストを送り、オリジンBがそのリクエストを許可する仕組みをCROSが行っています。

SalesforceのCORSとは?

CORSを使用して外部のWebサイトからSalesforceにリソースを要求することが可能です。 例えば、CORSを使用すれば、「https://www.example.com」のJavaScriptコードから「https://www.salesforce.com」にリソースを要求することが可能です。 その場合は、あらかじめSalesforceのCORS許可リストに外部サイトを登録しておく必要があります。 SalesforceのCORS許可リストに登録しておけば、外部サイトのJavaScriptコードから、Salesforce API、Apex RESTリソース、Lightning Outなどのリソースを要求することができます。

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 REST

Salesforce 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を活用しよう!

今回は、SalesforceのCORSについて説明しました。 SalesforceのCORSを使用すれば、外部のWebサイトからSalesforceのリソースを要求することが可能となります。ぜひ活用できるように理解しておきましょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】