2012-03-05 15 views
0

今まで私はfb idとユーザーのアクセストークンを使用して、クラウドバックエンドを使用して複数のデバイス間で自分のアプリ内で彼を識別していました。具体的には、ほとんどの場合、ユーザーはタブレットとスマートフォン版のアプリにログインする必要があります。 offline_access権限を使用すると、任意のデバイスからアプリにログインしたときに常に同じトークンが返されました。offline_access deprecated - アプリ内のユーザーが現在デバイスを識別する方法を教えてください。

offline_accessトークンは推奨されなくなりました。ログイン時にaccess_tokenを受信すると、facebook apiは認証に役に立たなくなりました。 [OK]を、私は新しいトークンサーバー側を検証し、ログインが有効であることを確認し、バックエンドのDBに格納することができます。

ただし、ユーザーさんがのユーザーの端末でアプリを実行している可能性があるため、バックエンドのトークンを新しいものに置き換えるのは悪いです。そのようなデバイスに格納されたトークンは、新たに発行されたトークンのために役に立たなくなります。私は何らかのpush-new-facebook-token-methodの使用を避けたい。

スムーズな解決策を設定するためには、どの方向性が必要なのでしょうか?

おかげで、 クリス

答えて

0

各デバイスは、わずかに異なる有効期限でエンコードされた別のものを持っているかもしれないが、それは本当に問題ではありません。各SDKのバージョン「getLoginStatus()」を使用し、アクセストークンを自分で保存するのではなく、そのアクセストークンを使用します。

+0

Hmですが、無効なトークンの問題が残っていますか、何か問題がありますか?私はこのシナリオについて考えています: 1)ユーザーはFacebook 1を使って自分自身をデバイス1に登録します。 access_tokenは、バックエンドに格納され、デバイス上にローカルに格納されます。 2)その後、ユーザーはFacebookにログインしてデバイス2にログインします。今では彼は新しいトークンを取得し、デバイス1のトークンを役に立たないようにしています。 getLoginStatus()を使用してこれを乗り越える方法がわかりません。 – Chris

+0

無効なアクセストークン(apiへの呼び出しを試したり、エラーの応答コードを監視していますか?)を見つけたら、FB.getLoginStatus(またはSDK固有の同等機能)を呼び出して有効なアクセストークンを取得し、新しいデータストアでデータストアを更新します。 – DMCS

+0

申し訳ありませんが、私はこの解決策を検討します。うまくいくはずです。助けてくれてありがとう! – Chris

関連する問題