Salesforce OAuth 2.0 Web サーバフロー を試してみる
OAuth 2.0 Web サーバフローって何?
おそらく一番一般的な OAuth フロー (だと思ってます)
1. Web アプリにアクセスしたい!
2. 認可の画面にリダイレクトされる
3. ID / Password をクライアント側で入力する
4. 認可された範囲のみで利用できるアクセストークンが発行される
という仕組みです
ID / Password はクライアント側で入力するため、サーバ側に ID / Password の情報を持たせないため安心です
1. 接続アプリケーションを作成する
(作り方は省略)
コンシューマ鍵 (client_id)、コンシューマの鍵 (client_secret)、コールバック URL (redirect_uri) をメモっておく
https://gyazo.com/a87e367d2d5a944ef5a99d499f7945ff
2. Auth Code を取得
以下の URL に ブラウザでアクセスする
※Postman で管理しておくとわかりやすいかも
https://gyazo.com/d44fae4b65d124c9386452b41890e221
ログイン画面がでてきたら ID / Pass を入力してログイン
画面遷移後の URL を確認
https://gyazo.com/36e6f38216e31c70191d1c52c8c8ef5d
code= に続く文字列が Auth Code なのでコピーしておく
3. Access Token の取得
以下のエンドポイントに POST リクエストを送る
code: request
grant_type: authorization_code
code: (上で取得したやつ)
client_id: (client_id)
client_secret: (client_secret)
redirect_uri: (redirect_uri)
Send 押下で Access Token が取得できる (はず)
https://gyazo.com/105df4dc4e912d186a4937c18742d1cc
refresh_token も取得できるので、メモっておく