在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)。即,这不是唯一的 URL。
- 我现在必须进行重定向吗?规格没有说明任何内容。我在哪里告诉“具体”网址?(在我的情况下,那是 URL
http://{endpoint-url}?u={endpoint-username}
。)
还有术语“OpenID 服务器”(URL)和“OpenID 委托”(URL)。
这些术语与上述其他术语有何关系?和 OpenID 端点 URL 一样吗?
什么是“OpenID 身份”?与 OpenID 标识符 URL 相同吗?
另请参阅相关问题:OpenID 如何在同一 OpenID 端点上的不同登录之间有所不同?
(元问题:我是否应该将其拆分为许多独立的 SO 问题?恐怕否则我可能无法得到所有问题的答案。)