Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 数据库模式允许同一帐户有多个登录机会(Facebook Connect、Oauth、OpenID等)_Mysql_Database_Facebook_Oauth_Schema - Fatal编程技术网

Mysql 数据库模式允许同一帐户有多个登录机会(Facebook Connect、Oauth、OpenID等)

Mysql 数据库模式允许同一帐户有多个登录机会(Facebook Connect、Oauth、OpenID等),mysql,database,facebook,oauth,schema,Mysql,Database,Facebook,Oauth,Schema,我想完成的工作与之几乎相同,那就是存储来自多个来源(Facebook、Twitter、LinkedIn、openID、我自己的网站等)的身份验证数据,以便一个人可以从任何/所有提到的提供商登录到他们的帐户 唯一需要注意的是,所有用户数据都需要存储在一个表中 有什么建议吗? 如果没有干净的方法来实现这一点,那么最好是为所有可能的登录方法创建大量的列,还是创建其他表来处理带有与用户表相关的外键的登录方法(如中所述)?也许您想创建一个专用于帐户类型的表,以及实际用户的表格 假设您有一个用户表,每个用户

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

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

有什么建议吗?


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

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

假设您有一个用户表,每个用户都有一个自动递增的uinique ID。然后,您希望创建另一个表示例:用户帐户,具有自己的自动记录ID,另一列用于关系ID(到用户表),第三(或/和)第四列用于帐户类型/额外数据,以便在需要时进行身份验证

然后为每个用户的每个帐户类型插入一条记录。基本上,它可能如下所示:

用户账户

| ID | User_ID | account_type       | authentication
| 1  | 1       | facebook           | iamthecoolestfacebookerever
| 2  | 1       | google             | mygoogleaccount
这是最简单的形式。您可能会存储与此不同的数据,但希望您能理解这一点