什么关注OpenID vs Oauth(v1& v2)?

时间:2011-09-09 08:32:49

标签: php facebook oauth openid

我注意到所有大型网站都在使用Openid而不是Oauth

我为oauthGoogle实施了Facebook

我的要求:

  • 使用Google / Facebook验证用户
  • 管理我网站上预先填充Google / Facebook的用户的简单用户个人资料。

我应该选择OauthOpenid

何时关注oauth

1 个答案:

答案 0 :(得分:7)

它们用于不同的目标。

OpenID用于验证您网站上的 SomeUser ,并向其他网站询问用户身份的证明。

OAuth用于授予 SomeOtherParty (例如其他网站或应用程序)代表您网站上 SomeUser 做某事的权限(这意味着 SomeUser 已经以某种方式在您的网站上进行了身份验证。)

对于作者的要求,还有一些评论:

您无法选择“OAuth对用户进行身份验证”,因为OAuth不是用户身份验证协议(尽管名称中包含“auth”)。

使用OpenID,您可以使用虚拟任何 OpenID提供程序对用户进行身份验证,而无需对代码进行任何修改。

如果您选择使用Facebook OAuth 对用户进行身份验证,则您实际上并未对用户进行身份验证。您要求用户让您的应用程序访问Facebook上的用户个人资料。您正在访问Facebook服务以获取用户信息。这意味着,如果您要使用其他OAuth提供程序服务来验证用户,那么您将从不能够在不编写新的“身份验证”代码的情况下执行此操作(除了新提供商支持与facebook相同的API的情况。)