我正试图围绕OpenID和OAuth。
据我所知,OpenID仅表示您是OpenID提供商的用户。 因此,如果我使用OpenID登录网站,它将返回的是“是的,此人是X网站的用户。”
如果我想要检索用户的电子邮件地址,我也需要授权,这是OAuth的用武之地。
所有这一切,这是否意味着如果OpenID用户名是电子邮件地址,那么在没有OAuth的情况下也无法检索该信息?
答案 0 :(得分:2)
这是关于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。