2012-04-09 58 views
0

我正在研究OpenId,看看它是否是我的网站的一个很好的解决方案,有些事情让我困惑。纠正我,如果我错了。关于OpenId的一些问题

“我的理解是,OpenID的工作方式是用户将凭证发送给授权服务器,并且TRUSTED服务器会说出该用户是否合法。”

现在,我们以Stackoverflow为例。我看到所有这些雅虎和谷歌的图标,以及一切,我猜Stackoverflow说这些是我值得信赖的提供商,如果他们相信你,我相信你。

现在,还有一个说OpenID的按钮,我可以继续并在那里注册。现在是一个独立的授权服务器?谁是提供者?

如果我想将openID嵌入到我的web项目中。我应该使用哪个授权服务器? 每当我搜索OpenId时,我都会看到这个OAuth;它是授权服务器吗?

回答

3

OpenID是一个标准,而不是一个授权提供者。

  • OpenID URI提供足够的信息去认证提供者进行认证。
  • 用户在提供商的网站上输入他们的登录凭证。这一步依赖于用户知道他们的提供者的授权页面是什么样的。
  • 回复,加上引用标头,意味着有足够的信息来安全地认证用户。

OAuth是对OpenID的补充。

[谷歌有一个相当不错的流量解释: https://developers.google.com/accounts/docs/OpenID对于特定的身份验证提供者

许多网站提供的选项只是为了简化这个过程。 OpenID URI不统一,所以你不能告诉(例如)来自电子邮件地址的URI。

一些认证提供商(如谷歌)很难找出你的OpenID实际上是什么,可能是为了让用户登录更透明(并随后为依赖方的网站添加品牌)。

如果您知道您的OpenID URI是什么,那么您应该可以在任何兼容的站点上输入它,而无需通过“选择已知提供者”步骤。但是,该选项是否可用,由作者自行决定。

[对于AUTH提供商的“可信度”,也有一些潜在的问题: http://en.wikipedia.org/wiki/OpenID#Security]

[OpenID基金会有官方答案:http://openid.net/get-an-openid/]

+0

的OpenID仍然是一个概念,其中,例如, ,Google充当OpenID提供商,而在stackoverflow上,我们可以将Yahoo和Google视为OpenID提供商。但正如我之前所问,还有一个OpenID链接。对于那些没有任何雅虎或谷歌账户或者可能拥有它但仍然不想使用它们进行身份验证的人来说,他们可以在OpeinID.net的数据库中存储他们的凭证,现在OpenId.net将作为他们的授权服务器?我认为我将OpenID概念与OpenID.net授权服务器混为一谈。那是对的吗? – TeaLeave 2012-04-11 22:52:31

+0

没有集中的OpenId数据库。如果他们想这样做,任何网站都可能成为提供者。正如上面的人所回答的,StackOverflow中的附加文本框使您可以访问任何OpenId提供程序,而不仅仅是常用的。 – pdwetz 2012-04-13 17:41:04

+0

此外,如果您知道您的Google或Yahoo!的URI,您应该能够在文本框中输入它,并最终获得相同的工作流程:) – Kazuaki 2012-04-27 03:04:36