FacebookのOath認証について調べた
半年くらい前にfacebookのOath認証使うまでに調べたことのメモ。
一応URLを順に叩くだけでトークン取得までいける。
■facebookのOAuth認証の流れ(サーバーサイド)
各URLのパラメータとかの詳細は( http://developers.facebook.com/docs/authentication/ )
1.ユーザーを承認ページに飛ばす
URL例)
https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID&
redirect_uri=YOUR_URL&
scope=email,read_stream
2.ユーザーが承認した場合、codeが付加されてredirect_uriに帰ってくる
リダイレクト例)
http://YOUR_URL?code=A_CODE_GENERATED_BY_SERVER
3.返ってきたcodeを使ってaccess_tokenを取得するURLを叩く
URL例)
https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID&
redirect_uri=YOUR_URL&
client_secret=YOUR_APP_SECRET&
code=THE_CODE_FROM_ABOVE
4.返ってきたaccess_token でapiが叩ける!
この時、code生成にredirect_uri(YOUR_URL)も使ってるっぽい。
(2)のYOUR_URLと(3)のYOUR_URLは同じじゃないとaccess_tokenが取れないので注意!
よく考えたら、(4)でパラメータ付きのリダイレクトで戻ってこない時点で気付くべきだった。
と、今Facebook Developersのドキュメント見たら内容変わってた...。
多分大枠は変わってないはずだが、Facebook関連はキャッチアップし続けないとすぐに古い情報になるなー。