匿名質問者

OAuth認証によるログインを実装したアプリケーションを開発しています。


アクセストークンの保存について、質問させてください。

一度、認証を経た後に、ユーザのアクセストークンを取得した後、その保存先としてDBに格納する記事が多いのですが、セッションに保存するのではまずいのでしょうか?
むしろ、通常の(OAuthを利用しない時の)ログイン時のように、セッションに保存する方が自然な気がするのですが…。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/07/16 14:20:05

回答1件)

匿名回答1号 No.1

セッションに置かずDBなどに保管する手間をかけるのはセキュリティ強化の一環です。
http://alpha.mixi.co.jp/2013/12020/

OAuth 2.0では, OAuth Clientが現在のセッションに紐づくstateパラメータを用意し, 認可要求に含むことが推奨されています.
OAuth ServerはOAuth Clientに認可応答を返す際にそのstateパラメータを含み,OAuth Clientはその値とセッションの組み合わせを検証してからアクセストークン取得を試みます.

他2件のコメントを見る
匿名回答1号

DBとセッションは同じようなもの

言葉の意味がわかりません。セッションでもDBを使う事があるということを言いたいのかもしれませんが、同じ道具でも組み合わせ方によってできることに違いがでてくるという認識ができるようになってくださることを願ってます。

具体的な想定

リンク先にあるようにCSRF対策です。

2014/07/16 09:42:08
匿名回答2号

OAuth認証でDBを使うと具体的にどういうことが可能になるんでしょうか?
リンク先ではDBの話は出てきてない気がしていますが……
#CSRF対策はstate/server_stateの話では?

2014/07/16 12:51:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません