【问题标题】:Database design for linking multiple account types用于链接多种帐户类型的数据库设计
【发布时间】:2015-05-19 20:22:23
【问题描述】:

我正在建立一个网站,用户可以在该网站上为所有者提供的某项服务付费。它不是在线商店,但付款过程非常相似。

我面临的问题在于付款过程中的不同“登录”选项。可以使用 Facebook 帐户登录、注册帐户/使用他的帐户登录或选择填写个人信息而不注册。

我正在考虑一个“消费者”表(没有帐户的一次性用户),一个用于注册用户的“用户”表,一个包含 Facebook 信息的“facebook_accounts”表,以及一个用于链接 Facebook 帐户的“user_has_facebook_account”表基于共享电子邮件地址的注册用户。

但是,如果用户使用 Facebook 登录而没有使用密码注册的帐户怎么办……这真的让我很头疼。

有什么建议我将如何设计一个数据库来支持这一点?

【问题讨论】:

  • 但是如果您使用 Facebook 登录,您将不会在数据库中存储任何密码数据,您将使用 oAuth Facebook 库。对于消费者和用户,我会将所有内容存储在同一个表中,添加一列来标记它是一次性消费者 (1) 还是注册用户 (0)

标签: php database facebook-login webshop


【解决方案1】:

我只会创建一张包含客户的表。在那里,您可以有一个带有 Facebook 用户 ID 的字段。如果有人使用 Facebook 登录,您可以为他创建一个新记录(您有来自 Facebook 的电子邮件地址等)。因此,您可以设置一个空的本地密码或要求用户为您的页面设置密码。

【讨论】:

    【解决方案2】:

    您可能应该将使用 Facebook 登录的用户添加到用户表并为他们创建默认密码,以及存储 OAuth 信息/密钥。

    你的“用户”对象应该是单数的,只是有不同的方法让他们变成“用户”来简化事情

    【讨论】:

      猜你喜欢
      • 2013-05-02
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-17
      • 2010-12-19
      • 2015-12-28
      相关资源
      最近更新 更多