現在のアプリケーションでは、ユーザーがパスワード、ソーシャル ネットワーク、またはオープン ID プラットフォームを介して接続できるようにしたいと考えています。
また、彼らのアカウントを私のアプリにリンクさせれば、彼らのウォール (主に facebook、twitter、バズ) にメッセージを投稿します。
私が直面している問題は、データベースでテーブルを整理する方法です。
これが私が行う方法ですが、信念はありません:
User(first_name, last_name, email)
LocalUser(password, user_id)
FacebookUser(token, user_id)
GoogleUser(token, user_id)
EtcUser(...)
ユーザーが Facebook 経由で接続する場合、ユーザー テーブルに可能な限りすべてのデータを入力します。その後、ユーザーは私のアプリを他のネットワーク (Google や Twitter など) に接続する可能性があります。
しかし、この実装の問題点は、ユーザーが一度 Facebook 経由で接続し、他のソーシャル層に接続せずにアプリを使用し、後で Google 経由で自分自身を接続すると、アプリはそれが同一人物であることを認識せず、新しいアカウントを作成することです。 、ゼロから。
また、セッション (FacebookUser、GoogleUser など) のテーブルとリンクされたアカウントのテーブルが異なる可能性があります (ソーシャル ネットワークにアクセスするためのトークンとアプリを使用するためのキーが異なる可能性があります?)
私はすでにこのようなセッションテーブルを持っています:
// Maybe I should add a new column for identifying from which type come the token (Local, Facebook, Google, etc)
Session(date, ip, token, user_id)
この方法は良いと思いますか?あなたはより良いものを持っていますか?
ありがとうございました !とても !