springboot-安全认证security+jwt+OAuth2.0关系梳理

目录

背景

正文 

一、Security的职责:

二、OAuth2.0的流程

三、Jwt是什么

四、总结


背景

前面写过一篇springboot+security+jwt的实战篇,并没有把来龙去脉说清楚,所以想再写一篇把安全认证的前世今生彻底弄清楚。主要从security干什么,OAuth2.0的流程,Jwt是什么来阐述。

正文 

一、Security的职责:

  • Spring Security是Spring提供的一个安全框架,提供认证和授权功能,最主要的是它提供了简单的使用方式,同时又有很高的灵活性,简单,灵活,强大。
  • Security本身是一套完整的认证和授权解决方案,只是我们在做系统的时候遵循了OAuth2.0规范,引入了其实现。现在流行的前后端分离,服务端不需要保持session管理,只需要验证token合法性。使用jwt生成token,是为了直接通过解密token直接获取用户信息,简化标准OAuth2.0的操作流程,也是当前服务端架构设计的实际需要。
  • Authentication:用户认证,一般是通过用户名密码来确认用户是否为系统中合法主体;通过用户名和密码验证用户是否合法有效。
  • Authorization:用户授权,一般是给系统中合法主体授予相关资源访问权限;就是权限管理和访问控制。
  • SpringSecurity 采用的是责任链的设计模式,它有一条很长的过滤器链。在过滤器链中定义OAuth2.0的或者Jwt的具体实现。

二、OAuth2.0的流程

  • 是一种授权协议,是规范,不是实现。
  • 角色:资源所有者,客户端(第三方应用),首选服务器,资源服务器
  • Spring Security OAuth2:Spring 对 OAuth2 的开源实现。
  • 具体案例如百度开发平台微信开发平台
  • 主要是用来获取用户的信息
  • 这里的令牌或者token仅仅是一个标识,不包含用户信息

三、Jwt是什么

  •  JSON Web Token // 是一种具体的Token实现框架

  • 是基于token的认证协议的实现

  • 主要用来生成token,验证token合法性,是否过期,获取用户信息

  • token中包含用户信息

四、总结

  •  security是基础,OAuth和Jwt是具体实现,在security上生效
  • OAuth2.0是规范
  • jwt是token的实现
  • 如果我们的系统要给第三方做授权,就实现OAuth2.0
  • 如果我们要做前后端分离,就实现token就可以了,jwt仅仅是token的一种实现方式
  • 三者的关系,我应该说明白了,希望对大家有帮助

最后,欢迎大家关注我的个人公众号,我会把经历分享出来,助你了解圈内圈外事。

同时也欢迎大家添加个人微信【shishuai860505】,我拉大家进我的读者交流群。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅哥趣谈

请帅哥抽根烟

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值