Eug*_*ash 5 language-agnostic oauth-provider oauth-2.0
OAuth 2.0规范定义了资源所有者密码凭据授予类型,该类型允许资源所有者密码凭证(即用户名和密码)直接用作授权授权以获取访问令牌.
我想允许用户在客户端上"通过Facebook登录",而不是直接提供凭据.然后,客户端可以将用户的Facebook访问令牌交换为授权服务器的访问令牌.这个方案是否适合OAuth2的框架?
然后,客户端可以将用户的 Facebook 访问令牌交换为授权服务器的访问令牌。
这是否意味着您有 2 个授权服务器(一个是 Facebook,另一个是您的私人服务器)?如果是 - 您正在滥用 OAuth,应该使用授权代码授予方案。
在 OAuth 2.0 规范 (v25) 的图 5 中,您可以找到工作流定义:
资源所有者向客户端提供其用户名和密码。
客户端通过包含从资源所有者接收到的凭据,从授权服务器的令牌端点请求访问令牌。发出请求时,客户端向授权服务器进行身份验证。
授权服务器对客户端进行身份验证并验证资源所有者凭据,如果有效则颁发访问令牌。
这是 Facebook http://developers.facebook.com/docs/guides/web/的引用:
为了让用户登录到您的网站,需要发生三件事。首先,Facebook 需要对用户进行身份验证。这可以确保用户就是他们所说的那个人。其次,Facebook 需要对您的网站进行身份验证。这可以确保用户将他们的信息提供给您的网站而不是其他人。最后,用户必须明确授权您的网站访问他们的信息。这可以确保用户准确地知道他们向您的网站披露了哪些数据。
在这两个地方,您都有一个且只有一个授权服务器 - 在您的情况下 - Facebook。
归档时间: |
|
查看次数: |
1459 次 |
最近记录: |