我对OpenId很陌生,在完成身份验证后,我在理解如何使用OpenId方面遇到了一些问题。
我正在创建一个新网站,我在使用openId身份验证时没有任何问题。但是我不确定在用户登录后我应该如何存储用户相关数据。
在openId之前,我会有自己的注册过程,一个具有唯一UserId(整数)的UserTable,而涉及与某些用户活动相关的数据的所有其他表只会有一个标识用户的UserId列。
我现在应该在表格中使用OpenId ID吗?我应该创建一个非常简单的OpenId-> UserId表,每个登录都映射到这个表,并且如前所述存储数据?当用户想要使用不同的OpenId提供商时会发生什么?
答案 0 :(得分:6)
我建议您拥有OpenID
映射的用户ID,只是因为将其设置为一对多是有意义的 - 允许人们拥有多个{{1绑定到帐户的身份。
答案 1 :(得分:3)
我在我的网站上使用了两张桌子:
1)用户 - 存储用户个人资料信息
2)凭据 - 存储用户登录信息。凭据可能不同:{email,password / hash},openID等
答案 2 :(得分:2)
雅虎OpenID常见问题解答http://developer.yahoo.com/openid/faq.html与Joseph Smarr在Plaxo创建的配方有很好的链接,详细说明了添加OpenID到已经拥有用户的网站,包括数据库表结构:
http://www.plaxo.com/api/openid_recipe
这是实施OpenID的分步教程指南 消费者支持与已经拥有用户的网站 账户。它将解释如何轻松让新用户注册 您网站上的帐户使用其OpenID网址以及如何让现有帐户 用户附加他们的OpenID,以便他们可以使用它们登录。