gpt4 book ai didi

mysql - 数据库架构允许同一帐户的多个登录机会(Facebook-Connect、Oauth、OpenID 等)

转载 作者:搜寻专家 更新时间:2023-10-30 22:17:20 26 4
gpt4 key购买 nike

我想完成与 this question 几乎相同的事情,这是为了存储来自多个来源(Facebook、Twitter、LinkedIn、openID、我自己的网站等)的身份验证数据,以便一个人可以从任何/所有提到的提供商登录他们的帐户。

唯一需要注意的是,所有用户数据都需要存储在一个表中。

有什么建议吗?

如果没有干净的方法来实现这一点,最好是为所有可能的登录方法设置大量的列,还是创建额外的表来处理与外键相关的登录方法用户表(如 this answer 中所述)?

最佳答案

也许您想创建一个专用于帐户类型的表,以及一个用于实际用户的表。

假设您有一个用户表,每个用户都有一个 auto_increment 唯一 ID。然后,您要创建另一个表示例:user_accounts,它有自己的 auto_icnrement ID,关系 ID 的另一列(到用户表和第 3(或/和)第 4 个表,用于帐户类型/额外数据,如果需要,用于身份验证。

然后您为每个用户的每个帐户类型插入一条记录。基本上它可能看起来像这样:

user_accounts

| ID | User_ID | account_type       | authentication
| 1 | 1 | facebook | iamthecoolestfacebookerever
| 2 | 1 | google | mygoogleaccount

以最简单的形式。您可能会存储与此大不相同的数据,但希望您能理解这一点。

关于mysql - 数据库架构允许同一帐户的多个登录机会(Facebook-Connect、Oauth、OpenID 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9846465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com