为什么需要OAuth2.0?
编码永远都是为了解决生产中的问题,想要理解为什么需要OAuth2,当然要从实际生活出发。
举个例子:小区的业主点了一份外卖,但是小区的门禁系统不给外卖人员进入,此时想要外卖员进入只能业主下来开门或者告知门禁的密码。
密码告知外卖员岂不是每次都能凭密码进入小区了,这明显造成了安全隐患。
那么有没有一种方案:既能不泄露密码,也能让外卖小哥进入呢?
于是此时就想到了一个授权机制,分为以下几个步骤:
- 门禁系统中新增一个授权按钮,外卖小哥只需要点击授权按钮呼叫对应业主
- 业主收到小哥的呼叫,知道小哥正在要求授权,于是做出了应答授权
- 此时门禁系统弹出一个密码(类似于access_token),有效期30分钟,在30分钟内,小哥可以凭借这个密码进入小区。
- 小哥输入密码进入小区
另外这个授权的密码不仅可以通过门禁,还可以通过楼下的门禁,这就非常类似于网关和微服务了。
过前端传送,令牌则是储存在后端,而且所有与资源服务器的通信都在后端完成。这样的前后端分离,可以避免令牌泄漏。
令牌获取的流程如下:
总结
本文介绍了OAuth2.0协议原理、四种授权模式,并且搭建了认证授权中心、资源服务进行了四种模式的测试。
作为OAuth2.0入门教程已经非常详细了...........