oauth2俗人俗语

来,第一步、我们套用一下百度百科的介绍:

OAuth2.0是OAuth协议的延续版本,但不向前兼容OAuth 1.0(即完全废止了OAuth1.0)。 OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,要么允许第三方应用代表用户获得访问的权限。同时为Web应用,桌面应用和手机,和起居室设备提供专门的认证流程。2012年10月,OAuth 2.0协议正式发布为RFC 6749 [1] 。

好的,我接下来可能会大言不惭的说一下我的理解:

说来说去,其实就是微信支付宝这些登录流程一样

1、注册应用,获取app_id、AppSecret;或者叫其他名字的东西;
2、获取code
3、 通过code参数加上AppID和AppSecret等,通过API换取access_token;
4、 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

下面是微信给出的一个流程图
oauth2俗人俗语

这里基本了解了oauth,下面是他的具体的类型

授权码(Authorization Code):OAuth2.0标准授权步骤,Server端向Client端下放Code码,Client端再用Code码换取授权Token
隐藏式(Implicit):无法使用授权码模式时的备用选择,Server端使用URL重定向方式直接将Token下放到Client端页面
密码式(Password): 直接拿着用户的账号密码换取授权Token
客户端凭证(Client Credentials):Server端针对Client级别的Token,代表应用自身的资源授权

当然,上面的话啊,我不能理解,所以,我们简单的聊一下,我的看法:
授权码 就是微信这种标准流程了
隐藏式就是省去了获取code这一步
密码式 就是直接拿着用户的账号密码换token(和普通token有点像)
客户端凭证和七牛云一样的操作

上一篇:实战!基于Security+JWT的单点登陆开发及原理解析


下一篇:【JAVA】微服务中使用Spring Security OAuth2集成短信验证码登录和自定义登录(2)