一処理余分なことをやってたっぽい。以下のような感じ。
- クライアントが SP(https://login.salesforce.com/services/oauth2/authorize)
に POST で以下の内容を送る。
response_type=code&client_id=<clientid>&client_secret=<secret>&redirect_uri=https://example.com/hoge - するとクライアントは以下のリダイレクト用 URL を受け
取るので、これをLocationヘッダとしてユーザに送り返す。
https://login.salesforce.com/setup/secur/RemoteAccessAuthorizationPage.apexp?source=xxxxxxxxxxxxxxxxxxxxx - ユーザのブラウザはこれを受け取り SP にリダイレクトする。
するとユーザがログインしていない場合はログイン画面が表示
されログイン処理を行い、その後は自動的にクライアントにリ
ダイレクト。この際 GET パラメータには Authorization code
が含まれている。 - クライアントは受け取った Authorization code を SP に送信
して Access Token を取得。
と思ってたんだけど、どうも 1 の部分の SP とのやりとりは不要で
2 から始められるようだ。この際の Location ヘッダにセットする
URL は以下のような感じで client_secret は不要。
https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id= 3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA 9GE&redirect_uri=https%3A%2F%2Fwww.mysite.com%2Fcode_callback.jsp&state=mystate1と同じ response_type=code というパラメータを渡してる。
まぁ、勘違いというわけでもなく今まで覚えていた方法でも良いの
だろうが、どこからこの情報を得たのかがもうわからなくなってい
て、、、うーーんという感じ。
0 件のコメント:
コメントを投稿