【发布时间】:2011-03-16 16:34:09
【问题描述】:
在OpenID specs 中,它说:
- 标识符:
标识符只是一个 URL。 OpenID 身份验证协议的整个流程是关于证明最终用户是、拥有一个 URL。
- 声明的标识符:
最终用户自称拥有的标识符,但尚未得到消费者的验证。
- 经过验证的标识符:
最终用户已向消费者证明他们拥有的标识符。
- 身份提供者:
也称为“IdP”或“服务器”。这是消费者联系的 OpenID 身份验证服务器,以获取最终用户拥有声明标识符的加密证明。 最终用户如何向其身份提供者进行身份验证不在 OpenID Authenticaiton 的范围内。
-
标识符 URL 是否唯一?究竟是什么?
-
如果不是唯一的,是否有任何唯一的东西可以让消费者在同一个 OpenID 端点 URL 上的不同用户之间有所不同?
-
IdP 和标识符 URL 有什么区别?
在其他地方,我读过术语“OpenID 端点 URL”。
- OpenID 端点 URL 是否与 IdP 相同?所以 IdP 也是一个 URL?
我们以 Google 的 OpenID 为例。当某个站点要求我使用 OpenID 登录时,我使用 OpenID URL https://www.google.com/accounts/o8/id。那是标识符URL吗?如果是这样,它显然不是唯一的。通常,当我在该站点上查看有关我的 OpenID 登录的帐户设置时,它不会显示输入的 URL,但它以某种方式扩展了它,例如 https://www.google.com/accounts/o8/id?id=AltOawk...。该 URL 现在看起来有点独特。
-
https://www.google.com/accounts/o8/id现在的用途是什么?那是 OpenID 端点 URL 吗?或者是 IdP URL(如果不同的话)? -
https://www.google.com/accounts/o8/id?id=AltOawk...的目的是什么?对于我的 Google 帐户来说,这真的是独一无二的吗?所以那个 URL 就是我的身份? -
他们为什么不使用
https://www.google.com/accounts/o8/id?u={google-username}而不是这个神秘的...?id=AltOawk...? -
如果是 Google,标识符 URL 是什么?
-
什么是 OpenID 端点 URL? (什么是 IdP URL?)
我问的原因是因为我正在尝试实现自己的 OpenID 端点。
- OpenID 端点 URL 是否与标识符 URL 相同?
在我的 OpenID 端点实现中,我确实遇到了这个问题,即不同用户之间不能有区别。消费者网站只是将该 OpenID 端点上的所有用户视为相同。当然,它始终是同一个 OpenID URL,但 Google 的 OpenID 也是如此。
- 如果最终用户使用此“通用”URL,我如何在我的 OpenID 端点实现中将其重定向/转发到“具体”/唯一(标识符?)URL?或者如何让它区分同一 OpenID URL 上的不同最终用户?
在我当前的实现中,当我启用一些调试跟踪时,我得到的第一个请求是模式 checkid_setup。在规范中,它说我在这里获得了声明的标识符。由于我在消费者站点上输入的内容(我的调试跟踪也说相同),这就是“通用”URL(OpenID 端点 URL)。 IE。那是不是唯一的 URL。
- 我现在必须进行重定向吗?规格没有说明任何内容。我在哪里告诉“具体”网址? (在我的例子中,就是 URL
http://{endpoint-url}?u={endpoint-username}。)
还有术语“OpenID 服务器”(URL)和“OpenID 委托”(URL)。
-
这些术语与上述其他术语有何关联?和 OpenID 端点 URL 一样吗?
-
什么是“OpenID 身份”?和 OpenID 标识符 URL 一样吗?
另见相关问题:How does OpenID differ between different logins on the same OpenID endpoint?
(元问题:我是否应该将其拆分为许多独立的 SO 问题?恐怕否则我可能无法得到所有问题的答案。)
【问题讨论】:
标签: openid google-openid