foce.comのREST APIではOAuth2.0を利用することができるが、

Salesforce環境やユーザによってOAuthのエンドポイントが異なっていたのでメモる。

 

基本的には認可のエンドポイントは

https://[domain]/services/oauth2/authorize

トークン発行のエンドポイントは

https://[domain]/services/oauth2/token

となっており、[domain]の部分がSalesforce環境やログインユーザによって変わってくる感じ。

 

1. 環境によるエンドポイントの違い

■Developer環境・本番環境

→login.salesforce.com

 

■Sandbox環境

→test.salesforce.com

 

■私のドメイン設定時

→私のドメインの値。

上記の環境によるドメイン値も利用できるが、

「https://login.salesforce.comからのログインを防止」にチェックがついていると

ログインされていない状態の場合は、認証画面でログインできないので

素直に私のドメインをエンドポイントにした方が良い。

mydomain

 

2. ポータル・コミュニティユーザの場合

■ポータル

→ポータルに紐付けたSitesを設定し、そのSitesのドメイン名をエンドポイントにする。

基本的にポータルのログイン画面は

https://[domain]/secur/login_portal.jsp?orgId=[orgId]&portalId=[portalId]

の形式になっており、通常のSalesforceのログイン画面ではログインできないため、

Sitesのドメインを介してログインする方式。

 

詳細はこちらから。

ちなみにSOAP APIではorganizationIdやportalIdを設定可能。

 

■コミュニティ

→コミュニティで設定したドメイン名。

こちらはポータルと違ってドメイン名を設定が必須なので、Sitesを使う必要はない。

 

ポータルのSites設定方式は面倒なので、出来れば新機能のコミュニティに寄せたい感じ。

そもそも新規の環境ではコミュニティ使えないはずだし。