nkjmkzk.net

powered by Kazuki Nakajima

Force.com REST APIがついにCORSをサポート

長年待ち焦がれていたCORSがついにForce.com REST API全体でサポートされました。 使いかたもめちゃくちゃシンプルです。早速使ってみましょう。

スクリーンショット 0027-03-03 16.54.53

まずは上図にある通り、Salesforce組織のCORS設定で外部サイトを登録します。

管理 > セキュリティのコントロール > CORSを開き、「新規」ボタンをクリックしてオリジンのURLパターンに外部サイトのURLを設定します。

スクリーンショット_0027-03-03_16_58_49

必要な設定はたったこれだけ。

OAuth2.0でアクセストークンを取得し、外部サイトでホストされているJavascriptからSalesforceにAPIアクセスしてみましょう。ツルッと通るはずです。

内部の動きとしては、下記のようになります。

  1. クロスドメインのリクエストであることをブラウザが検知し、APIアクセスに先立ってpreflightリクエストという「このドメインからのクロスドメインアクセスしてもいいですか?」という確認をSalesforce側におこないます。
  2. Salesforceは当該ドメインがCORS設定に登録されているURLパターンと一致すれば、Access-Control-Allow-xxxxヘッダー付きのレスポンスで承認を通知してくれます。
  3. ブラウザはレスポンスの中身を確認し、OriginやMethodに相違がなければクロスドメインのAPIアクセスを実行します。

もちろん、OAuth2.0で認証をおこないますので事前に接続アプリケーションの設定などは忘れずに。

without comments

Written by 中嶋 一樹

3月 3rd, 2015 at 5:17 pm

Posted in Uncategorized

Tagged with , ,

Leave a Reply