oAuth2
什么是oAuth2
说白了oAuth2.0的核心就是解决资源拥有者与资源服务器之间的互信问题而提出的一个安全、开放的标准或者协议,而随着三方的信任程度不通,oAuth2.0也提供了不同的授权模式
官方网站这里
什么是 SpringSecurity
oAuth2 是标准,具体的实现有两个,SpringSecurity 和 apache shero
为什么需要oAuth2
名词解释
画个图来梳理一下
交互过程
比如下面就是有道云笔记的客户端,现在需要登录访问资源,那首先就要认证授权,结合上面的流程!还有这个视频
令牌的访问与刷新
AccessToken
RefreshToken
客户端授权模式
客户端必须得到用户的授权(authorization grant),才能获得令牌(access token),oAuth2.0 定义了四种授权方式。
- implicit:简化模式,不推荐使用
- authorization code: 授权码模式
- resource owner password credentials: 密码模式
- client credentials: 客户端模式
简化模式
简单模式适合那些没有自己的后台,只有客户端
授权码模式
密码模式
资源拥有者和授权服务器都对客户端完全信任,相信客户端不会做坏事,可以用在一些内部开发的客户端中