使用Oauth2实现SSO

在开始之前,特别强调一下OAuth和SSO的区别:
OAuth主要用来解决系统和系统间的身份认证问题,比如A、B、C三个独立部署的微服务系统均以REST对外提供服务,现在为A系统增加一些限制,只让B系统调用,而禁止C系统调用;
SSO主要用来帮助用户减少在相通的平台重复输入用户名和密码的登陆操作,例如:用户U在A系统上输入用户名密码之后完成登陆操作,在同一个浏览器的另一个页面打开B系统时可以直接进入系统而不用再次输入用户名密码点击登陆;

  Spring security oauth2.0建立在Spring security的基础之上,而Spring security基于Filter chain实现,所以可以认为:Spring security oauth2.0是在原本的Spring security filter chain上增加或者替换了部分filter以实现client authorization;

SpringSecurity主要流程

1.SpringSecurity在用户对资源进行访问的时候,会对用户请求进行过滤,判断用户是否具有操作该资源的权限。
SpringSecurity的主要流程

SpringSecurity OAuth2.0主要功能

   使用SpringSecurityOAuth2.0本身拥有的很多功能,可以很方便的实现SSO的权限管理服务,资源保护服务,
   登录,登出,申请令牌,验证令牌等功能。

生成token

1.使用/oauth/token生成默认token
  SpringSecurityOAuth2.0的授权服务器,通过提供endpoint来实现令牌的发放,令牌的验证功能。用户访问/oauth/token接口,可以获取token,然后使用该token访问系统中的所有节点。
2.生成token的基本流程
  

访问资源验证

1.客户端验证
2.用户权限验证

用户权限管理

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值