3

現在のアプリケーションでは、ユーザーがパスワード、ソーシャル ネットワーク、またはオープン 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)

この方法は良いと思いますか?あなたはより良いものを持っていますか?

ありがとうございました !とても !

4

0 に答える 0