关于Google openid.claimed_id的问题

时间:2011-04-24 09:57:54

标签: perl authentication openid google-openid

我在我的网络应用程序中使用openid身份验证。 我有两个表,一个用于为任何user_id存储多个openid_url,并使用openid作为主键。

还有另一个表,其中包含用户详细信息,其中user_id为主键。

我的身份验证有效,之后我检查返回的url是否在我的openid表中可用,如果不存在,我会重定向到创建用户表单,而如果url在那里,则用户被重定向到他所在的页面。 但是我面临一个奇怪的问题,即在google身份验证与之前一天左右存储在db中的值不匹配后,我的电子邮件ID中的url返回。

我不确定我是否遗漏了某些东西,或者我是否必须在openid 2.0中使用其他东西。

此时的任何线索都非常感谢。

编辑:

我还有一个线程处理我正在寻找的信息。 Why does the ID of Google's OpenID implementation change?

2 个答案:

答案 0 :(得分:3)

Google为每个服务提供商(转发方)使用唯一标识符。

请使用一致的openid.realm验证您的身边。这是你方的协议和域名。例如:https://stackauth.com

如果你混合使用“www。”使用前缀或不使用它或混合使用http或https,Google会将您视为不同的服务提供商,并为同一用户提供不同的ID。

答案 1 :(得分:0)

我已经浏览了大量文档,我将仅在谷歌的情况下使用电子邮件作为用户标识符。这是一个属性,对于任何网站都是唯一的。