人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

facebookアプリを作るうえで、一度取得したアクセストークンてどこで持っておくのが一般的なんですか?
ユーザ側にクッキーなどで持たせたらセキュリティ的にまずいと思うのです。(クッキーのことあんまりわかってないんで突っ込みどころあったら突っ込んでください)
サーバ側で持っておいて、API叩くときにアプリ側でユーザに合わせて引っ張ってきてあげるというのが普通でしょうか?

●質問者: yuma_nishizaki
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tdoi
●50ポイント ベストアンサー

セキュリティという観点に立つと、どのようなセキュリティリスクを考えるかが問題となります。残念ながら100%安全な方法といったものはありませんので。


ここでは、クッキーの情報が第3者に流れるというリスクについては考慮しないことにします。まずは、アクセストークンをクッキーに保存すると、そのアクセス―トークンをもとにそのユーザがなりすましをすることができるかがポイントとして回答します。

つまり、そのアクセストークンをちょっと改変すると、別のユーザとしてそのWebアプリケーションにログインできるかどうか?あるいは、そのアクセストークンで別のWebアプリケーションを利用することができるかどうか?のみに注目すると、OAuthのアクセストークンは、この観点からは特に問題がないと言っていいと思います。


では、全く問題ないかというと、例えばで、アクセストークンさえあれば、

https://graph.facebook.com/me?access_token=<アクセストークン>

という形だけでデータが取れてしまうので、アクセストークンが第3者に流れたことを考えると、リスクは残ります。

これを防ぐにはアクセストークンは一度もクライアント側へ渡さないことが大事になります。もし、yuma_nishizakiさんが作成しているWebアプリに独自の認証機構があるのであれば、そのアプリのユーザの情報としてアクセストークンを保存しておく方がいいでしょう。認証自体にFacebookを使っているのであれば、セッションIDなどをクッキーに保存しておいて、アクセストークンはサーバ側で管理しておけば、アクセストークンだけが流用される危険は防げるかと思います。


質問に則って回答させてもらえば、

「サーバ側で持っておいて、API叩くときにアプリ側でユーザに合わせて引っ張ってきてあげる」

方がよいと思います。

【参考】

http://developers.facebook.com/docs/authentication/


2 ● kodairabase
●50ポイント

クッキーをセキュアにする?Session FixationとかSession Hijackとか?
http://d.hatena.ne.jp/zatsuso/20080209/

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ