【发布时间】:2013-09-03 22:08:09
【问题描述】:
我正在尝试围绕 OpenID 和 OAuth。
据我了解,OpenID 仅表示您是 OpenID 提供者的用户。 因此,如果我使用 OpenID 登录网站,它将返回“是的,此人是 X 网站的用户。”
如果我想检索用户的电子邮件地址,我还需要授权,这就是 OAuth 的用武之地。
话虽如此,这是否意味着如果 OpenID 用户名是电子邮件地址,那么没有 OAuth 也无法检索该信息?
【问题讨论】:
我正在尝试围绕 OpenID 和 OAuth。
据我了解,OpenID 仅表示您是 OpenID 提供者的用户。 因此,如果我使用 OpenID 登录网站,它将返回“是的,此人是 X 网站的用户。”
如果我想检索用户的电子邮件地址,我还需要授权,这就是 OAuth 的用武之地。
话虽如此,这是否意味着如果 OpenID 用户名是电子邮件地址,那么没有 OAuth 也无法检索该信息?
【问题讨论】:
这是一篇关于OpenID vs OAuth 的好帖子。
据我了解,OpenID 仅表示您是 OpenID 提供者。因此,如果我使用 OpenID 登录一个站点,所有这些都将 return 是“是的,这个人是 X 站点的用户。”
这取决于您使用谁作为 OpenID 提供者以及他们是否支持 Attribute Exchange - 这允许中继方询问有关用户的其他属性(例如他们的电子邮件)。这是关于 Google/Yahoo 支持的属性交换值的SO question asking。
话虽如此,这是否意味着如果 OpenID 用户名是 电子邮件地址,没有办法检索该信息 OAuth 也一样?
同样,这取决于您使用 OpenID/Oauth 的用户(也可能是每个协议的哪个版本)。 OpenID 提供商不一定必须使用电子邮件作为用户名,并且提供商可以在其 OpenID 和 OAuth 实施中同时提供电子邮件。例如,除了在其 OpenID 属性交换中提供电子邮件之外,Google 还允许检索 email address via OAuth2。
【讨论】: