アクセストークンの保存について、質問させてください。
一度、認証を経た後に、ユーザのアクセストークンを取得した後、その保存先としてDBに格納する記事が多いのですが、セッションに保存するのではまずいのでしょうか?
むしろ、通常の(OAuthを利用しない時の)ログイン時のように、セッションに保存する方が自然な気がするのですが…。
セッションに置かずDBなどに保管する手間をかけるのはセキュリティ強化の一環です。
http://alpha.mixi.co.jp/2013/12020/
OAuth 2.0では, OAuth Clientが現在のセッションに紐づくstateパラメータを用意し, 認可要求に含むことが推奨されています.
OAuth ServerはOAuth Clientに認可応答を返す際にそのstateパラメータを含み,OAuth Clientはその値とセッションの組み合わせを検証してからアクセストークン取得を試みます.
言葉の意味がわかりません。セッションでもDBを使う事があるということを言いたいのかもしれませんが、同じ道具でも組み合わせ方によってできることに違いがでてくるという認識ができるようになってくださることを願ってます。
リンク先にあるようにCSRF対策です。
2014/07/16 09:42:08OAuth認証でDBを使うと具体的にどういうことが可能になるんでしょうか?
2014/07/16 12:51:34リンク先ではDBの話は出てきてない気がしていますが……
#CSRF対策はstate/server_stateの話では?