图解oauth2【原创】

一、什么是OAuth2(Open Auth)
OAuth2(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源,而无需将用户名和密码提供给第三方应用。

二、有谁在应用
各种平台都提供了基于OAuth2的机制,如QQ互联、微信、淘宝,你可以用他们的账号登陆而无需在其他网站上进行注册,并授权此网站获取其账号信息,包括用户名、头像等

三、应用场景
1、在基于终端应用api对接,特别是第三方api接口的时候,比如微信公众号。
2、有个应用是别人开发的,你需要将系统进行整合或者数据对接,此时需要单点登录,OAuth2就是做这个的。

四、与session、cookie机制比对
1、与session机制类似,OAuth2只是变成了token,但是session有其局限性,特别是api对接
2、还有一些终端默认是不会带cookie的,比如android
3、OAuth2可以返回refresh_toke,让客户端在一定时间内刷新token,特别适合app一定时间内无需重复登陆。

五、以下是我针对OAuth2授权码流程的手稿图



六、Lotus-OAuth2
本人针对OAuth2的开发的一整套流程,支持以下四种授权机制
授权码授权
契约授权
资源拥有者密钥证书授权
客户端证书授权

猜你喜欢

转载自wzalong.iteye.com/blog/2376250
今日推荐