关于 Google openid.claimed_id 的问题
我在我的网络应用程序中使用 openid 身份验证。 我有两个表,一个用于存储任何 user_id 的多个 openid_url 并以 openid 作为主键。
还有另一个表,其中包含用户详细信息,以 user_id 作为主键。
我的身份验证有效,之后我检查返回的 url 在我的 openid 表中是否可用,如果不存在,我将重定向到创建用户表单,而如果 url 存在,则用户将重定向到他所在的页面。 但我面临一个奇怪的问题,谷歌身份验证后为我的电子邮件 ID 返回的 url 与前一天左右存储在数据库中的值不匹配。
我不确定我是否遗漏了某些东西,或者我是否必须在 openid 2.0 中使用其他东西。
此时任何线索都将受到高度赞赏。
编辑:
我还有一个线程处理我正在寻找的信息。 为什么 Google 的 OpenID 实现的 ID 会发生变化?
I am using openid authentication in my web application.
I have two tables, one for storing multiple openid_url for any user_id and with openid as primary key.
There is another table with user details with user_id as primary key.
my authentication works and after that I check if the url returned is available in my openid table, if its not there, I redirect to a create user form, while if the url is there, user is redirected to page where he was.
But I am facing a strange issue where in the url returned for my email id after google authentication does not match with the value stored in db a day before or so.
I am not sure if I am missing something or do I have to use some thing else in openid 2.0.
Any clue at this point is highly appreciated.
Edit:
I got one more thread which deals with information I am looking for.
Why does the ID of Google's OpenID implementation change?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Google 对每个服务提供商(中继方)使用唯一标识符。
请验证您这边是否使用一致的 openid.realm。那是你这边的协议和域名。例如:https://stackauth.com
如果您混合使用“www”。前缀或不使用它或混合 http 或 https,Google 会将您视为不同的服务提供商,并为同一用户提供不同的 id。
Google uses unique identifiers for every service provider (relaying party).
Please verify that your side using a consistent openid.realm. That is the protocol and domain name of your side. For example: https://stackauth.com
If you mix using of a "www." prefix or not using it or mixing http or https, Google will see you as distinct service providers and provide different ids for the same user.
我已经仔细研究了许多文档,并且仅在使用谷歌时才使用电子邮件作为用户标识符。这是一个对于任何站点、任何域来说都是唯一的属性。
I have gone thorough a number of documents and I am going to use email as user identifier only in case of google. This is one attribute which is uniq for any site any domain.