使用Facebook的访问令牌作为OAuth2.0的资源所有者凭证(Using a Facebook

2019-09-17 01:02发布

所述的OAuth 2.0规范定义了资源所有者密码凭证格兰特类型 ,它允许资源所有者密码凭证(即用户名和密码)直接用作授权许可以获得访问令牌。

我想允许的,而不是直接提供凭据的用户“通过Facebook登录”在客户端上。 然后,客户机可以交换用户的Facebook访问令牌的授权服务器的访问令牌。 是否该方案融入了OAuth2的框架?

Answer 1:

然后,客户机可以交换用户的Facebook访问令牌的授权服务器的访问令牌。

这是否意味着你有2台授权服务器(在Facebook的一个又一个的 - 你的私人之一)什么想法? 如果是的话 - 你滥用的OAuth并应使用授权代码授权方案,而不是。

在从图5的OAuth 2.0规范(V25),你可以找到工作流定义:

  1. 资源所有者提供的用户名和密码的客户。

  2. 客户端通过包括来自资源拥有者收到的证书请求从授权服务器的令牌端点访问令牌。 在进行请求时,客户端与授权服务器进行身份验证。

  3. 授权服务器验证客户端和验证资源所有者凭据,如果有效问题的访问令牌。

这是来自Facebook的报价http://developers.facebook.com/docs/guides/web/ :

为了使用户登录到你的网站,三件事情需要发生。 首先,Facebook需要对用户进行认证。 这确保了用户是谁,他们说他们是。 其次,Facebook需要验证您的网站。 这确保了用户给他们的信息到您的网站,而不是别人。 最后,用户必须明确授权您的网站访问他们的信息。 这确保了用户知道他们透露给你的网站什么样的数据。

在这两个地方,你有一个且只有一个授权服务器 - 你的情况 - Facebook的。



文章来源: Using a Facebook access token as the resource owner credentials in OAuth2.0