Php 用于普通身份验证的数据库表模式设计+;非统组织
有人能解释一下这两个表模式对于Php 用于普通身份验证的数据库表模式设计+;非统组织,php,mysql,authentication,database-design,oauth-2.0,Php,Mysql,Authentication,Database Design,Oauth 2.0,有人能解释一下这两个表模式对于身份验证+OAuth的优缺点吗 选择1: 用户表: `id` `unique_id` `username` `email` `bio` `gender` `id` `unique_id` `username` `email` `bio` `gender` 用户\打开\ id表: `user_id` `open_id_type ('facebook, twitter etc')` `open_id ('facebook_id, twitteer_id etc')`
身份验证+OAuth
的优缺点吗
选择1:
用户表:
`id`
`unique_id`
`username`
`email`
`bio`
`gender`
`id`
`unique_id`
`username`
`email`
`bio`
`gender`
用户\打开\ id表:
`user_id`
`open_id_type ('facebook, twitter etc')`
`open_id ('facebook_id, twitteer_id etc')`
`open_password`
选择2:
用户表:
`id`
`unique_id`
`username`
`email`
`bio`
`gender`
`id`
`unique_id`
`username`
`email`
`bio`
`gender`
用户正常表:
`user_id`
`user_password`
用户_facebook表:
`user_id`
`facebook_id`
`facebook_password`
用户\谷歌\ plus表格:
`user_id`
`googleplus_id`
`googleplus_password`
用户_twitter表:
`user_id`
`twitter_id`
`twitter_password`
选择1在未来会面临任何问题吗?(如facebook/google plus等特定服务的表结构更改)我会选择选项1选项1是否会导致OAuth将来出现任何问题,如数据列的更改?facebook/twitter/googleplus或其他Oauth服务是否会共享相同的数据列,如open\u id\u type(“facebook,twitter等”)
和open\u id(“facebook\u id,twitter\u id等”)
?使用不同的表的好处是,如果明天您还想支持一个Authz提供程序,您只需旋转一个新表就可以做到这一点,而且升级方案也很简单。我明白了,这是否意味着选择2是未来更好的方案?