前言

  • BladeX 默认采用JWT分布式无状态认证的模式,无需配置可直接启动
  • 考虑到企业使用中遇到的各种场景,BladeX对Token策略进行了改良,可以通过配置开启有状态认证的模式
  • 通过巧妙设计,开启有状态配置后,会将Token保存在Redis中,在无状态认证的环节加上一层redis认证的步骤
  • 在分布式部署的场景下,无需再做任何配置,所有Token都将保存至Redis服务中,可以配置一个账号登录多人也可以配置一个账号只可一人登录
  • BladeX 的Token策略切换,整个流程都是无感知的,大家只需延续以往的开发习惯即可

状态配置

  • Token默认为无状态,配置如下
  • 若需要配置为有状态,只需将state的值改为true

在线配置

  • 开启有状态认证后,可以配置一个账号可以登录多人还是单人,具体如下

签名配置

  • JWT加密生成Token的时候可以指定一个签名,默认为BladeX,也可以自行配置,具体如下

踢出登录

  • 对于一些需要踢人的场景,可以使用框架内置的API进行操作
    JwtUtil.removeAccessToken(String tenantId, String userId)
  • 若开启了单人模式,则无需配置,框架会默认踢出上一个登录的Token,并生成新的Token给新的用户,这个操作俗称:顶号

后记

  • 想要了解源码逻辑、具体实现请看blade-starter-jwtblade-starter-authblade-core-secure三个组件
  • 后续也会更新关于Secure安全框架的源码级解析,敬请期待~