存储oauth和本地身份验证方法的最佳实践?
|
如果我要运行一项服务,该服务允许用户通过“本地”用户名/密码组合进行身份验证,并且还提供任意数量的OAuth服务,那么该用户数据模型会是什么样?
通常,如果我自己处理所有登录名,则在\“ user \”数据库(假设MySQL)中,用户名和密码字段必须为非空。但是,如果我的用户只想使用Facebook登录,我将只存储Facebook自动令牌,而在本地没有任何用户名/密码。
此外,如果他们想使用Twitter凭据登录,然后再使用tumblr,然后再使用任何一种当今服务,该怎么办?我可以为每种类型保留一个字段,但这可能会有些麻烦。我是否最好保留另一个“身份验证方法”表以免缺少更好的用语,所以我可以在用户之间建立一对多关系,以及如何对它们进行身份验证?
基本上,我要问的是是否有人知道这种情况的行业标准最佳实践,或者可以向我指出正确的方向(或者是否有人实施了类似的方法对他们来说很有效)。一个用户,多种身份验证方法-保留该信息的最佳方法是什么?
如果我做出的任何假设无效,我深表歉意,请纠正我。
没有找到相关结果
已邀请:
2 个回复
室邢
[为了进一步规范化,请使用服务元字段使服务成为自己的表。 ] 然后,您的身份验证脚本将执行以下操作: 查找用户名/电子邮件 识别已知的身份验证配置文件 查看输入是否针对任何已知的身份验证配置文件和auth进行验证,或返回无效的凭据 对于某些服务,您可能需要自动生成一些用户字段值,或者提示用户在首次身份验证期间输入,具体取决于您可以从该服务中获得哪种数据。
疮痪徘弦漏