作者:东北小狐狸
阅读目录
- OAuth2 的概念
- OAuth2授权模式
- 授权码模式(Authorization Code Grant)
- 隐式授权模式(Implicit Grant)
- 密码模式(Resource Owner Password Credentials Grant)
- 客户端模式(Client Credentials Grant)
- OAuth2授权模式的选型
- 后记
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目前最安全最复杂的授权流程,先放一张图,稍做解释