Oauth2简介
oauth2是让对方授权、鉴权的协议,常用在单点登录和授权登录方面。
这个协议有以下几方参与:
1.客户端,举例:浏览器
2.鉴权、授权中心
3.资源服务器
4.需要登录的第三方网站
当在1点击4的时候,会重定向到2,2会根据回调地址,返回令牌,拿到令牌之后就可以去3拿需要的资源了
大体流程就是这样的,具体实现细节的变化就很多了,有兴趣的可以参考阮一峰的oauth2的代码实现。
如果是前后端分离的项目,则2会重定向到前端的主页,前端再转发到后台,后台获取令牌,并根据令牌获取用户信息,到此协议结束。
如果不是前后端的项目,则2会重定向到后台,后台获取令牌,拿到用户信息之后会重定向到主页,到此协议结束。
可以看到整个过程令牌一直是在后台流转,所以不会把令牌泄露到前端,这也就是oauth2之所以安全的原因。