2012-04-17 11 views
1

私はFacebook Connectで少し仕事をしていますし、FacebookやYahooなどの別のログインプロバイダを使用してログインすることもできます。また、Stack Overflowを使ってユーザーの詳細を取得することもできますStack Overflowにそれらを登録しましたか?あなたが知っている限り、あなたは別の電子メールアドレスを使って登録することができました。あなたの名字と姓は一意の識別子ではありません。どうですか?Facebookユーザーオブジェクトを使用して独自のユーザーオブジェクトを取得するにはどうすればよいですか?

答えて

0

facebook_uidなどの新しいテーブルをユーザーテーブルに追加する可能性が高くなります。ユーザーが既存のアカウントを持っている場合、そのアカウントにサインインしてからFacebookに接続すると、facebook_uidを既存のuser_idに保存できます。その後、ユーザーが登場し、既にFacebookにサインインしている場合は、あなたのウェブサイトにも署名することができます。ユーザーがサイトに既存のアカウントを持っていない場合は、アカウントを作成するだけです(Facebookのユーザー名で記入することもできます)

複数のログイン方法を許可する場合は、プロバイダ(Facebook、Twitter、Googleなど)とそのアカウントの関連付けられたIDとの間のマッピングを保持してユーザーテーブルに戻すテーブル。

基本的なことは、サードパーティのログインシステムでサインインするときに、サイトの現在のアカウントにマップするか、サイトに新しいアカウントを作成していない場合はそのアカウントを作成し、それを説明する。明らかにこれをユーザーに明示するか、サードパーティを使用してサインインしていない場合にアカウントをマージする必要があります。あなたはまた、潜在的にFacebookのからの電子メールへのアクセスをお願いして試してみて、それはすべてがあなたのユースケースに依存して、新しいもの

おかげ

+0

Facebookに接続する前に、既存のアカウントにサインインする方法を教えてください。 – user517406

+0

あなたは彼らに尋ねるでしょう、それはあなた次第です。既存のアカウントを持っている場合にのみ接続するか、接続時にサイトにアカウントを作成する – TommyBs

1

を作成する前に、既存のアカウントにそれをマップすることができます。たとえば、電子メールアドレスを一意の識別子として使用します。 Facebookでログインすると、私のポータルはFacebookからのあなたのEメールアドレスも尋ねます。次に、一致する電子メールアドレスを持つユーザーオブジェクトをデータベースから検索します。

  • のみFacebook経由のログインを許可:

    これを行うための複数の方法があります。その後、すべてのユーザーを電子メールアドレスで確実に識別できます。

  • Facebookとユーザー名/パスワードによるログインも許可しますが、両方の場所で同じ電子メールアドレスを使用する必要があります。
  • Facebookとユーザー名/パスワードを使用したログインも許可し、ユーザーごとに異なる電子メールアドレスを使用できるようにします。これは最も複雑なオプションです。ほとんどのサイトでは、ユーザーが自分のFacebookアカウントと自分のサイトアカウントを「ペアリング」するよう要求することで、この問題を解決しています。つまり、初めて設定すると、ユーザーはサイトにログインする必要があり、サイトにログインしている間はFacebookにログインできます。あなたのサイトは自分のFacebookのアイデンティティを保存しています(この場合、電子メールは必要ありません。ユーザーIDをフィールドに保存するだけです)。この後、ユーザーはFacebook経由でのみログインできます。FacebookのユーザーIDと、自分のデータベース内の対応するユーザーオブジェクトを組み合わせることができます。

ご不明な点がございましたら、コメントに記入してください。 :)

+0

ユーザーがサイトに登録すると、「Facebook Email Address」フィールドが表示されますか?これは良いアイデアのように思えますが、登録するときに何人のユーザーが実際に入力しますか? – user517406

+0

いいえ、私は1つの電子メールフィールドを持っています。 – Venemo

+0

Facebookのメールアドレスとは異なるメールアドレスで登録するとどうなりますか? – user517406

関連する問題