Php OpenID与Oauth(v1和v2)的后续操作是什么?

Php OpenID与Oauth(v1和v2)的后续操作是什么?,php,facebook,oauth,openid,Php,Facebook,Oauth,Openid,我注意到所有大型网站都在使用Openid而不是Oauth 我为Google和Facebook实现了oauth 我的要求: 通过Google/Facebook验证用户身份 为我的网站上的用户管理简单的用户配置文件,从Google/Facebook预填充 我应该为Oauth或Openid选择什么 何时遵循oauth?它们用于不同的目标 OpenID用于对站点上的某个用户进行身份验证,要求其他站点提供该用户身份的证明 OAuth用于授予另一方(例如,其他站点或应用程序)代表您站点上的某个用户执行某

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

我为
Google
Facebook
实现了
oauth

我的要求:

  • 通过Google/Facebook验证用户身份
  • 为我的网站上的用户管理简单的用户配置文件,从Google/Facebook预填充
我应该为
Oauth
Openid
选择什么


何时遵循oauth?

它们用于不同的目标

OpenID用于对站点上的某个用户进行身份验证,要求其他站点提供该用户身份的证明

OAuth用于授予另一方(例如,其他站点或应用程序)代表您站点上的某个用户执行某项操作的权限(这意味着某个用户已经在您的站点上进行了身份验证)

根据作者的要求,还有一些评论:

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

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


如果您选择使用FacebookOAuth对用户进行身份验证,那么实际上并不是在对用户进行身份验证。您要求用户让您的应用程序访问facebook上用户的个人资料。您正在访问Facebook服务以获取用户信息。这意味着,如果您想使用另一个OAuth提供程序服务对用户进行身份验证,则必须编写新的“身份验证”代码(新提供程序支持与facebook相同的API的情况除外)。

您需要的是OpenID和OAuth。OAuth不用于身份验证。OAuth仅用于授权。“用于身份验证和授权。”---它不是100%正确。OAuth仅用于授权。只有当当前令牌和/或服务器允许(授权)进行身份验证时,身份验证才可用。因此,有一个令牌可以让你执行一些操作,但不允许你执行身份验证。是的,我知道这不是两个都适用的-但是当你想要授权时,你需要进行身份验证?对吗?只是把所有的信息都包括进去了。希望这是有用的。正确性+1。我还要补充的是,OP的断言:“所有大型网站都在使用Openid而不是Oauth”是不正确的。OAuth在这一点上比OpenID更具吸引力。