2012-02-19 9 views
3

私たちは現在、私たちのウェブサイトとモバイルアプリの両方でユーザーにfacebookとtwitterログイン機能を導入しています。Facebook認証トークンを管理する

現在の問題はFacebookのトークンですが、ユーザーがFacebookのログを記録しようとすると、私のウェブサイトとモバイルアプリで返されるトークンが異なることに気付きました。

ユーザーの重複登録を防ぐために、これらのトークンを管理する最も良い方法は何ですか。ログイン時の各ユーザーは、アクセストークンにリンクされたデータベースに基本プロファイルを作成します。私はoffline_accessパーミッションも使用します。

このユーザーがモバイルアプリケーションを使用すると、別のトークンが返され、重複したプロファイルが作成される可能性があります。どうすればこのような状況を防ぐことができますか?ウェブサイトとモバイルで同じプロファイルが検出される必要があります。

+0

を確認するために生成されたトークンを使用する必要があります。 –

答えて

4

ユーザーのアクセストークンではなく、FacebookのユーザーIDでユーザーを識別します。

ちょうどGET https://graph.facebook.com/me?access_token=ACESS_TOKENとあなたのFacebookユーザーIDを含むユーザーに関する基本情報が返されます。

+1

「https://graph.facebook.com/me?access_token = ACCESS_TOKEN&fields = id'の方がいいです。FacebookのユーザーIDだけが必要です。 – Clafou

0

Julioが言ったように、詳細についてはこの質問を参照してください。あなたは「トークン」でFBユーザーIDを意味するならば、私のアプリは、デスクトップとモバイルで同じトークンを返すされ、簡単にユーザーを検出することができ、FBのユーザーID

Devise Omniauth and Iphone/Android App