Php 链接多个帐户类型的数据库设计

Php 链接多个帐户类型的数据库设计,php,database,facebook-login,webshop,Php,Database,Facebook Login,Webshop,我正在建立一个网站,用户可以为所有者提供的特定服务付费。这不是一个网上商店,尽管付款过程非常相似 我面临的问题在于在付款过程中不同的“登录”选项。用户可以使用Facebook帐户登录、注册帐户/使用其帐户登录,或者选择在不注册的情况下填写个人信息 我在考虑一个“消费者”表(一次性用户没有帐户)、一个注册用户的“用户”表、一个包含facebook信息的“facebook账户”表和一个基于共享电子邮件地址将facebook账户链接到注册用户的“用户有facebook账户”表 但是,如果用户使用Fac

我正在建立一个网站,用户可以为所有者提供的特定服务付费。这不是一个网上商店,尽管付款过程非常相似

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

我在考虑一个“消费者”表(一次性用户没有帐户)、一个注册用户的“用户”表、一个包含facebook信息的“facebook账户”表和一个基于共享电子邮件地址将facebook账户链接到注册用户的“用户有facebook账户”表

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


有没有关于如何设计一个数据库来支持此功能的建议?

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


你的“用户”对象应该是单一的,只是它们如何成为“用户”有一个不同的方法,以简化事情

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

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