为用户连接和使用社交网络的最佳数据库设计是什么?

时间:2010-12-10 13:48:59

标签: database connect social-networking

在我目前的应用程序中,我想为用户提供通过密码或任何社交网络或开放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连接一次,使用应用程序而不连接到其他社交层,然后通过谷歌连接自己,应用程序将无法识别它是同一个人并将创建一个新的帐户,从头开始。

此外,会话表(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)

你认为这种方法好吗?你有更好的吗?

谢谢!非常!

0 个答案:

没有答案