黑客教你查询某人信息(不收定金的黑客联系方式)

黑客教你查询某人信息(不收定金的黑客联系方式)OAuth2 的概念OAuth是一个关于授权的开放网络标准,OAuth2是其2.0版本。它规定了四种操作流程(授权模式)来确保安全应用场景有第三方应用的接入、微服务鉴权互信、接入第三方平台、第一方密码登录等Java王国中Spring

OAuth2 的概念

OAuth是一个关于授权的开放网络标准,OAuth2是其2.0版本。

它规定了四种操作流程(授权模式)来确保安全

应用场景有第三方应用的接入、微服务鉴权互信、接入第三方平台、第一方密码登录等

Java王国中Spring Security也对OAuth2标准进行了实现。

OAuth2授权模式

OAuth2定义了四种授权模式(授权流程)来对资源的访问进行控制

  • 授权码模式(Authorization Code Grant)

  • 隐式授权模式(Implicit Grant)

  • 用户名密码模式(Resource Owner Password Credentials Grant)

  • 客户端模式(Client Credentials Grant)

无论哪个模式(流程)都拥有三个必要角色:客户端、授权服务器、资源服务器,有的还有用户(资源拥有者),下面简单介绍下授权流程

授权码模式(Authorization Code Grant)

授权码模式是OAuth2目前最安全最复杂的授权流程,先放一张图,稍做解释

如上图,我们可以看到此流程可大致分为三大部分

  • Client Side:用户+客户端与授权服务器的交互

  • Server Side:客户端与授权服务器之间的交互

  • Check Access Token:客户端与资源服务器之间的交互 + 资源服务器与授权服务器之间的交互

整体上来说,可以用一句话概括授权码模式授权流程

客户端换取授权码,客户端使用授权码换token,客户端使用token访问资源

接下来对这三部分进行一些说明 :

前提条件:

  • 第三方客户端需要提前与资源拥有方(同时也是授权所有方)协商客户端id(client_id),客户端密钥(client_secret)

  • 文中暂时未将scope、state等依赖具体框架的内容写进来,这里可以参考Spring Security OAuth2的实现

Client Side

客户端换取授权码

这个客户端可以是浏览器,

  • 客户端将client_id + client_secret + 授权模式标识(grant_type) + 回调地址(redirect_uri)拼成url访问授权服务器授权端点

  • 授权服务器返回登录界面,要求用户登录(此时用户提交的密码等直接发到授权服务器,进行校验)

  • 授权服务器返回授权审批界面,用户授权完成

  • 授权服务器返回授权码到回调地址

Server Side

客户端使用授权码换token

  • 客户端接收到授权码,并使用授权码 + client_id + client_secret访问授权服务器颁发token端点

  • 授权服务器校验通过,颁发token返回给客户端

  • 客户端保存token到存储器(推荐cookie)


  • 发表于 2020-11-16 20:55
  • 阅读 ( 296 )
  • 分类:互联网

0 条评论

请先 登录 后评论
大题小做
大题小做

691 篇文章

你可能感兴趣的文章

相关问题