2

I'm trying to wrap my head around OpenID and OAuth.

From what I understand, OpenID only says that you are a user of the OpenID provider. So if I log into a site using an OpenID, all it will return is "yes, this person is a user of X site."

If I want to retrieve a users email address, I would need an authorization as well, which is where OAuth comes in.

All that being said, does this imply that if an OpenID username is an email address, there is no way to retrieve that information without OAuth as well?

4

1 回答 1

2

这是一篇关于OpenID vs OAuth的好文章。

据我了解,OpenID 仅表示您是 OpenID 提供者的用户。因此,如果我使用 OpenID 登录一个站点,它将返回的只是“是的,此人是 X 站点的用户”。

这取决于您使用谁作为 OpenID 提供者以及他们是否支持属性交换- 这允许中继方询问有关用户的其他属性(例如他们的电子邮件)。这是一个关于 Google/Yahoo 支持的属性交换值的问题。

话虽如此,这是否意味着如果 OpenID 用户名是电子邮件地址,那么没有 OAuth 也无法检索该信息?

同样,这取决于您使用的是谁 OpenID/Oauth(也可能是每个协议的哪个版本)。OpenID 提供商不一定必须使用电子邮件作为用户名,并且提供商可以在其 OpenID 和 OAuth 实施中同时提供电子邮件。例如,除了在其 OpenID 属性交换中提供电子邮件之外, Google 还允许通过 OAuth2 检索电子邮件地址。

于 2013-09-03T23:21:17.783 回答