0

私は、ユーザーが通常の登録を使用してサインアップするだけでなく、Facebook 経由でログインできるようにする Web サイトを持っています。

ユーザーが通常の登録を使用してサインアップした場合、Facebook 経由で接続するオプションを提供したいと考えています。この場合、通常のログインを使用してすでにログインしている場合にのみ、接続するこのオプションを彼に与えます。

だから私の問題は、この場合、同じ電子メールIDを持っていない可能性のある2つのアカウントをどのようにリンクするのですか? つまり、システム上でこれら 2 つのアカウントをリンクしたいと考えています。

前もって感謝します。

4

1 に答える 1

1

同じメールアドレスである必要はまったくありません。一般的な方法は、そのような DB スキーマを持つことです。

第 1 テーブル: users:id, display_name, registration_date, ...
第 2 テーブル: auth_email:user_id, email, password, salt
第 3 テーブル: auth_facebook:user_id, facebook_id

ご覧のとおり、Facebook ユーザー ID をuser_idサイトで見つけて、ユーザーを認証することができます。

同様に、ログインフォームから電子メールとパスワードを入力すると、ユーザーを見つけuser_idて認証できます

別の認証スキーマを追加する場合は、user_id外部キーを持つ対応するテーブルを追加するだけです。

于 2012-08-29T05:04:28.220 に答える