我最近在我的网站上将Google和Yahoo的OpenID端点实现到了我的身份验证系统中,以便用户可以避免在我的网站上创建帐户。很常见的做法,对吗?将OpenID与现有网站登录系统结合使用
虽然我有一个具体的问题,但首先有一点背景资料。
当我通过三段身份验证时,我使用了Attribute Exchange来获取用户的姓名和电子邮件地址。目前,我保存其OpenID(长字符串,看起来像这样:。https://me.yahoo.com/a/2Z7LplQsnI_DgtAw(...字母数字的users表中的一个特殊领域一堆)
比方说,我的用户表看起来像这样
type id password email key
1 1 0e9212587d373ca58e9bada0c15e6fe4 [email protected]
2 1 b8d2f4a50d2b364ff2766556ba50da48 [email protected] https://www.google.com/accounts/o8/id?id=AItOawll6-m_y…
2 2 6687d5d88b359ee1340717ebf0d1afc6 [email protected] https://www.google.com/accounts/o8/id?id=AItOawm3-C_9…
3 1 fd193c2fa449c9d6dc201d62d5ca86d3 [email protected] https://me.yahoo.com/a/2Z7LplQsnI_DgtAw…
1 2 2e710b13b3dd787e2b15eab3dde508c2 [email protected]
types
1 = native account
2 = Google OpenID
3 = Yahoo OpenID
当与本地帐户的用户登录,电子邮件和密码用于验证(杜)。
当用户使用谷歌或雅虎的OpenID,那么OpenID的(键字段)用于认证。
好吧,现在在所有的背景信息中都不存在... 如果我忘记存储OpenID本身并仅使用从属性交换中获得的电子邮件来验证用户,它会安全吗?有人可以欺骗OpenID交易的第三段,或者我可以相信,只要我从Google的OpenID交易的属性交换部分获得[email protected],它是真实的,没有欺骗?
这正是我想知道的。谢谢! – 2010-07-14 19:01:21