さらに別のFacebookログインの質問。
FacebookのJavaScript認証とログインを使用する1ページのサイトを構築しています。ページをリロードしたくないので、ユーザーはいつでもFacebookにログインできます。Facebookにログインすると、(backbone.jsを使用して)ローカルビューが変更されますが、ページは更新されません。ページは更新されませんが、サーバー側(REST apiをスロー)にユーザーのuidを「認識」させたい
以前にサーバー側の認証を使用しましたが、クライアント側の認証のみを使用したいと考えています。(さまざまな理由で)
基本的に私はhttp://developers.facebook.com/blog/post/534/をフォローしていますが、私のサーバーはnode.jsです
これが私がフローを見る方法です:(安らかなAPIを使って)
1. User enter site
2. FB JS SDK login/authenticate user
a. FB SDK has obtained access_token (valid for an hour)
b. signed request is saved in cookie data (fbsr_<app id>)
3. Browser issue any REST API call to Server
a. server looks into cookie to identify uid
Parse the signed_request
Validates sigend_request with application secret
identify uid from parsed signed_request
b. if needed to store long live access token
Server exchange code for tokenA
Server exchange tokenA for longed lived access token (valid for 2 month - fb_exchange_token)
質問:
- なぜsigned_requestではなくクライアントからサーバーにアクセストークンを移動すべきではないのですか?
- このフローは安全ですか?
- それは良い習慣ですか?
ありがとう