2016-10-13 21 views
0

私はPhoneGapアプリケーションの認証としてFacebookログインを使用しています。ユーザーがログインすると、データをデータベースから取得して情報を表示します。私は他の目的のためにSDKを使用していません。Facebook Javascript SDK自動ログインとトークン

私はFacebookの自動ログインが正常に動作しています - authResponseとFacebookの情報を取得します。ログインごとにアクセストークンが変更されるので、今後のログインのためにサーバー上のユーザーを認証するために、ローカルおよびデータベースに保存するために何を使用できますか?ここで

私は仕事ができると思うの流れである...

  1. ユーザーは
  2. 画面でログを見て、Facebookの資格情報を入力Facebookは安全にユーザー情報&アクセスを検証し、返しトークン
  3. アプリはlocalStorageを使用してユーザの電子メールとアクセストークンを保存します
  4. 今後の自動ログインでは、localStorageの値は電子メール/パスワードとして使用されます

私はこれが正解ではないように感じます。

+0

はい、localStorageは、パスワードや顧客データなどの機密情報を保存するために使用しないでください。 –

+0

@MandeepSingh私は同意します - あなたは何を提案しますか? – isometrixk

+0

アクセストークンは数時間有効です – WizKid

答えて

0

解決策を見つけました - データベースにパスワードを保存してユーザー情報を取得するのが混乱しました。むしろ、これらは正しい手順は次のとおりです。

  1. 使用のFacebook SDKは、ログインを処理し、取得authResponse
  2. 更新ユーザーテーブルを自分のデータベースにトークンを一時的にアクセスして、すべてのPOSTのためにユーザーの情報
  3. を取得するために、またはGETを実行したい場合は、データベースのアクセストークンのFB.getLoginStatus()結果と一致させます(チェックはサーバー側で行われます)
  4. トークンが一致する場合は、要求を実行します。それ以外の場合は、ユーザーに再度ログインさせます。
+0

トークンは数時間しか存在しませんが、新しいトークンに再びヒットしました –

+0

修正 - アプリケーションを繰り返し開くと新しいトークンが作成され、アプリは強制ログインなしで問題なく動作します時間。 – isometrixk

関連する問題