oAuth 2如何运作?

时间:2015-12-21 14:11:41

标签: authentication oauth oauth-2.0 authorization

我已经完成了On a high level, how does OAuth 2 work?,但我仍然有一些具体的内容 质疑oauth 2是如何运作的

以下是来自所述链接的oAuth的步骤序列

  1. Site-A向Site-B注册,并获取Secret和ID。

  2. 当用户告诉Site-A访问Site-B时,用户被发送到Site-B,他告诉Site-B他确实希望为特定信息授予Site-A权限。

  3. Site-B将用户重新定向回Site-A以及授权码。

  4. 然后,Site-A将该授权码及其秘密传递回Site-B以换取安全令牌。

  5. 然后,Site-A代表用户通过捆绑安全令牌和请求向Site-B发出请求。

  6. 我的问题是关于以下几点: -

    1)身份验证: - 该步骤及其发生方式。没有人解释如何在这里实现身份验证

    My Understanding on this point:-来自William Jones的回答看起来好像是在第2步发生了。如果是,它是如何发生的?我相信它正在发生 cookies的帮助(如果用户已经登录并且如果没有服务,那么当从基于java的应用程序的jsessionid的同一浏览器实例点击URL时会自动发送 提供者明确要求凭证)。这是对的吗?

    2)授权码: - 我不确定这里是否使用了使用授权码。为什么站点B不能立即提供安全令牌。 我的意思是为什么步骤4和步骤2无法合并,其中sita通过cookie提供密码和经过身份验证的数据,而网站B提供安全令牌

    3)安全/访问令牌: - 我的理解是,一旦安全令牌被共享,站点B将基于该共享信息。站点A已从站点获得安全令牌号100 B用户X.现在,如果站点A的用户Y获得一些安全令牌(我明白了 它可能不会像在SSL上那样嗅探,然后他可以访问用户X的公共信息

1 个答案:

答案 0 :(得分:1)

您似乎正在描述一种称为授权代码流的协议流程。

有四个"演员"在OAuth 2.0中。

  • 资源所有者 - (最终用户)
  • OAuth客户端(WEB应用程序)
  • 授权服务器为资源所有者和资源提供便利 服务器和问题令牌(可能与资源服务器相同的服务器)
  • 资源服务器 - 保存受保护的资源(由资源拥有) 所有者)

OAuth客户端,授权服务器和资源服务器通常都在同一台计算机上或在同一域中。如何执行授权服务器和资源服务器之间的通信并非由OAuth 2.0指定。

  

1)身份验证: - 该步骤及其发生方式。没有人   解释了身份验证在这里实际发生   记住OAuth 2.0 is not an authentication protocol.

     

2)授权码   您的步骤没有明确定义。尝试用图片查看Grant Type: Authorization Code

     

3)安全/访问令牌   不共享。由授权服务器发布,并通过OAuth客户端呈现给资源服务器。