sa-token-doc/more/update-log.md
sa-token-spring-boot4-starter 集成包,支持 Spring Boot 4 环境集成。 [重要]sa-token-reactor-spring-boot4-starter 集成包,支持 Reactor + Spring Boot 4 环境集成。 [重要]sa-token-demo-springboot4、sa-token-demo-webflux-springboot4 示例。sa-token-dependencies 相关模块,优化依赖关系。 [重要]sa-token-solon-plugin 优化 Gateway 接口的处理,避免使用路由接口。merge: pr 348sa-token-sso 模块定义 STS 协议。 [重要]SaSsoClientModel 部分场景下无法序列化的问题。SaOAuth2DataLoader 接口获取高级权限与低级权限的方法。merge: pr 339sa-token-dubbo 与 sa-token-dubbo3 每次调用都强制需要上下文的问题。sa-token-dubbo3 的说明。loveqq-framework 框架集成包。 [重要] merge: pr 339SaLogoutParameter 新增 deviceId 参数,用于控制指定设备 id 的注销。 [重要]SaHttpTemplate 请求处理器模块。issuer 字段。 merge: pr 329Http Digest 认证时 url 上带有查询参数时认证无法通过的问题。merge: pr 334append 字段,用于抓取未预先定义的注解类型进行批量注解鉴权。doRenewTimeout 方法添加 loginType 参数。SaInterceptor 新增 beforeAuth 认证前置函数。allowAnonClient 决定是否启用匿名 client。convertCenterIdToLoginId、convertLoginIdToCenterId 策略函数,用于描述本地 LoginId 与认证中心 loginId 的转换规则。jumpToRedirectUrlNotice 策略,用于授权重定向跳转之前的通知。sa-token-demo-sso3-client-resdk。 [重要]sa-token-demo-sso3-client-anon。 [重要]SaClientModel 新增 isAutoConfirm 配置项,用于决定是否允许应用可以自动确认授权。 [重要]Access-Token 并存、多 Refresh-Token 并存、多 Client-Token 并存能力。 [重要] fix: #IBHFD1 、 #IBLL4Q 、#724OAuth2 Password 认证模式需要重写处理器添加强提醒。SaOAuth2ServerConfig 转移到 SaOAuth2Strategy。SaOAuth2Strategy.instance.userAuthorizeClientCheck 策略,用于检查指定用户是否可以授权指定应用。fix: #553sa-token-oauth2 模块代码结构及注释。currentAccessToken()、currentClientToken(),简化读取 access_token、client_token 步骤sa-token-forest 插件,用于在 Http 请求处理器模块整合 Forest。sa-token-okhttps 插件,用于在 Http 请求处理器模块整合 OkHttps。sa-token-apikey。sa-token-sign。sa-token-dubbo 插件部分场景上下文控制出错的问题。sa-token-sanck3 SaSessionForSnack3Customized:getModel 接收 map 值时会出错的问题。 merge: pr 330sa-token-redis-template-jdk-serializer 时反序列化错误。merge: pr 331sa-token-snack3 优化 objectToJson 序列化处理(增加类名,但不增加根类名)。sa-token-redis-template、sa-token-redis-template-jdk-serializer 插件中 update 方法 ttl 获取方式改为毫秒,以减少 update 时的 ttl 计算误差。 [重要]PasswordGrantTypeHandler 处理器示例。API Key 模块。 [重要]TOTP 实现。 [重要]TempToken 模块,新增 value 反查 token 机制。 [重要]SaTokenContext 上下文读写策略。 [重要]Base32 编码工具类。CORS 跨域策略处理函数,提供不同架构下统一的跨域处理方案。renewTimeout 续期方法增加 token 终端信息有效性校验。cookieAutoFillPrefix:cookie 模式是否自动填充 token 前缀。rightNowCreateTokenSession:在登录时,是否立即创建对应的 Token-Session。Token-Session 获取算法,减少缓存读取次数。SaLoginParameter 支持配置 SaCookieConfig,以配置 Cookie 相关参数。hook 注册新增 registerHookToFirst、registerHookToSecond 方法,以便更灵活的控制 hook 顺序。sa-token-quick-login 插件支持 Http Basic 方式通过认证。Temp Token 模块单元测试。Thymeleaf 集成文档不正确的依赖示例说明。unionid 章节错误描述。LoginType。SpringBoot (<2.2.0) 引入 Sa-Token 报错的问题。hosts 文件无效可能原因排查。StpUtil.setTokenValue("xxx")、loginParameter.getIsWriteHeader() 空指针的问题。 fix: #IBKSM0SaDisableWrapperInfo.createNotDisabled() 默认返回值封禁等级改为 -2,以保证向之前版本兼容。Object 与 String 的序列化方式。 [重要]SaTokenDao 模块,将序列化与存储操作分离。 [重要]SaTokenDao 默认实现类,优化底层设计。isLastingCookie 配置项支持在全局配置中定义了。SaLoginModel -> SaLoginParameter。 [不向下兼容]TokenSign -> SaTerminalInfo。 [不向下兼容]SaTerminalInfo 新增 extraData 自定义扩展数据设置。SaLoginParameter 支持配置 isConcurrent、isShare、maxLoginCount、maxTryTimes。SaLogoutParameter,用于控制注销会话时的各种细节。 [重要]StpLogic#isTrustDeviceId 方法,用于判断指定设备是否为可信任设备。StpUtil.getTerminalListByLoginId(loginId)、StpUtil.forEachTerminalList(loginId) 方法,以更方便的实现单账号会话管理。@SaCheckSign 注解鉴权,用于 API 签名参数校验。is-share 默认值改为 false。 [不向下兼容]BCrypt 标注为 @Deprecated。sa-token-quick-login 支持 SpringBoot3 项目。 fix: #IAFQNE、#673SaTokenConfig 新增 replacedRange、overflowLogoutMode、logoutRange、isLogoutKeepFreezeOps、isLogoutKeepTokenSession 配置项。sa-token-serializer-features 插件,用于实现各种形式的自定义字符集序列化方案。sa-token-fastjson 插件。sa-token-fastjson2 插件。sa-token-snack3 插件。sa-token-caffeine 插件。sa-token-json-test json 模块单元测试。sa-token-serializer-test 序列化模块单元测试。preview-doc.bat 文件,一键启动文档预览。sa-token-demo/pom.xml 以便在 idea 中一键导入所有 demo 项目。.gitignore 文件sa-token-solon-plugin 插件。Cookie 自定义属性支持。 fix: #693 [重要]SaFirewallStrategy 防火墙策略:请求 path 黑名单校验、非法字符校验、白名单放行。 [重要]token-session 没有被续期的问题。 fix: #IA8U1Oactive-timeout 的检查与续期操作,同一请求内只会检查与续期一次。SaFoxUtil.joinSharpParam 方法中不正确的注释。UnionId 联合id 实现。 [重要]oauth2-server 端前后台分离示例与文档。 fix: #I9DQGA、#I9W2RU [重要]OIDC 模式 nonce 随机数响应校验。 merge: pr311deleteGrantScope(String state) -> deleteState(String state)。sa-token.oauth2-server.oidc.iss 无效的问题。revokeRefreshToken、revokeRefreshTokenByIndex。CodeModel、AccessTokenModel、RefreshTokenModel、ClientTokenModel 添加 createTime 字段,以记录该数据的创建时间。grantType 字段,以记录该数据的授权类型。SaOAuth2Util.getCode 等方法,以更方便的获取、校验授权码。Cookie 时的框架错读现象。NotBasicAuthException -> NotHttpBasicAuthException。sa-token-quick-login 插件无法正常拦截的问题。sa-token-oauth2 模块整体重构。 [重要] [不向下兼容]scope 处理器。 [重要]grant_type。 [重要]scope 划分等级。 [重要]oidc 协议支持。 [重要]openid 生成算法。 [重要]OAuth2 注解鉴权支持。 [重要]redirect_url 参数校验增加规则:不允许出现@字符、*通配符只能出现在最后一位。关联 issue [重要]Http Basic 提交 client 信息的场景。感谢 github @CuiGeekYoung 提交的pr。Bearer Token 方式提交 access_token 和 client_token。scope 字段改为 List 类型。SaOAuth2Strategy 全局策略接口,定义一些创建 token 的算法策略。addAllowUrls addContractScopes 方法,简化 SaClientModel 构建代码。SaOAuth2Dao 接口,负责数据持久。SaOAuth2DataLoader 数据加载器接口。SaOAuth2DataGenerate 数据构造器接口。SaOAuth2DataConverter 数据转换器接口。SaOAuth2DataResolver 数据解析器接口。SaOAuth2Handle -> SaOAuth2ServerProcessor 更方便的逻辑重写。PastToken -> LowerClientToken。state 值校验,同一 state 参数不可重复使用。SaOAuth2Util 相关方法,更方便的二次开发。ClassType。sa-token-oauth2 异常细分状态码。client 不同登录页说明。StpUtil.getSessionByLoginId(xx) 参数为 null 时创建无效 SaSession 的 bug。SpringBoot 3.x 版本下错误的引入依赖时将得到启动失败的提示。 (感谢Uncarbon提交的pr)InvalidContextException 更名为 SaTokenContextException。 [已做向下兼容处理]NotPermissionException 异常中的 getCode() 方法。 [过期API清理]SaTokenException 类方法 throwBy->notTrue、throwByNull->notEmpty。[已做向下兼容处理]StpUtil.getSessionBySessionId 提供的 SessionId 为空时将直接抛出异常,而不是再返回null。[不向下兼容]Http Digest 认证模块简单实现。 [重要]HttpBasic 认证模块包名。 [已做向下兼容处理]StpUtil.getLoginDeviceByToken(xxx) 方法,用于获取任意 token 的登录设备类型。StpUtil.getTokenLastActiveTime() 方法,获取当前 token 最后活跃时间。Account-Session 有效期为全局 timeout”的问题。Token-Session 时,其有效期将保持和 token 有效期相同,而不是再是全局 timeout 值。SaSignConfig 的 isCheckNonce 配置项。 [不向下兼容]SaSignTemplate#checkRequest 增加“可指定参与签名参数”的功能。sa-token-bom 补全缺失依赖。StpUtil.getLoginId(T defaultValue) 传入 null 时无法正确返回值的bug。autoRenewTimeout 配置项:是否在每次下发 ticket 时,自动续期 token 的有效期(根据全局 timeout 值)SaSsoConfig 新增配置 isCheckSign(是否校验参数签名),方便本地开发时的调试。SaSsoConfig 新增配置 currSsoLogin,用于强制指定当前系统的 sso 登录地址。sa-token-sso 模块,将 server 端和 client 端代码拆分。 [重要] [不向下兼容]SaSsoConfig 配置项 ssoLogoutCall 重命名为 currSsoLogoutCall。[已做向下兼容处理]maxRegClient 配置项,用于控制模式三下 client 注册数量。secret-key 的方案。 [重要]homeRoute 配置项:在 /sso/auth 登录后不指定 redirect 参数的情况下默认跳转的路由。checkTicketAppendData 策略函数,用于在校验 ticket 后,给 sso-client 端追加返回信息。allow-url 配置项 * 符号出现在中间位置,因为这有可能导致校验被绕过。 [漏洞修复]sa-token-hutool-timed-cache,用于整合 Hutool 缓存插件 TimedCache。 [重要]@Autowired 更换为更合适的 @PostConstructsa-token-jwt 模块重复设置 keyt 秘钥问题。(感谢KonBAI提交的pr)sa-token-spring-aop 模块中遗漏监听的注解。@若初995 提交的pr。 [重要]SaFoxUtil.vagueMatch() 正则匹配的一些问题。 [漏洞修复]SaRouter.match() 路由匹配的一些问题。 [漏洞修复]sa-token-alone-redis 去掉不必要的配置项判断。sa-token-solon-plugin 增加对 solon 网关的支持。sa-token-three-plugin 。sa-token-solon-plugin 增加对 solon 网关的支持。sa-token-redisson-jackson2:通用 redisson 集成方案 (spring, solon, jfinal 等都可用)sa-token-core:
getTokenSession() 将抛出未登录异常,而不是返回 null。 [不向下兼容]type、loginType、loginId、token。includeList、excludeList 改为 public,同时移除对应的 getter 方法。 [不向下兼容]includeList 与 excludeList 的限制,所有请求都会进入。 [不向下兼容]User-Session -> Account-Session。getTokenTimeout(String token) 方法,获取任意 token 剩余有效期。SaStrategy#createStpLogic,用于指定动态创建 StpLogic 时的算法策略。@SaCheckOr 批量注解鉴权:只要满足其中一个注解即可通过验证。 [重要]SaStrategy.me -> SaStrategy.instance。activity-timeout -> active-timeout。 [重要]active-timeout 能力,可在每次登录时指定 active-timeout 值。 [重要]SaStrategy 所有策略声明抽离为单独的函数式接口。SaTokenConfig 参数的能力。sa-token-sso:
ticket 校验地址配错时,会出现 NPE 的问题getData 接口配置,在模式三拉取数据时可以传递任意参数。 [重要]sa-token.sso.secretkey=xxx -> sa-token.sign.secret-key=xxx。 [不向下兼容]SaSsoUtil.checkSign(req) -> SaSignUtil.checkRequest(req)。 [不向下兼容]sa-token.sso.mode 配置项,用于约定此系统使用的 SSO 模式。sa-token-jwt:
其它:
sa-token-bom 包,方便引入 sa-token 时对齐版本。sa-token-alone-redis 在低版本 springboot 下无法启动成功(缺少 username 属性)的问题。新增插件:
sa-token-context-dubbo3 插件。 感谢 @qiudaozhang 提交的 pr。 [重要]文档:
简化包名 [重要] [不向下兼容]
sa-token-dao-redis -> sa-token-redissa-token-dao-redis-jackson -> sa-token-redis-jackson。sa-token-dao-redis-fastjson -> sa-token-redis-fastjson。sa-token-dao-redis-fastjson2 -> sa-token-redis-fastjson2。sa-token-dao-redisson-jackson -> sa-token-redisson-jackson。sa-token-dao-redisx -> sa-token-redisx。sa-token-context-dubbo -> sa-token-dubbo。sa-token-context-dubbo3 -> sa-token-dubbo3。sa-token-context-grpc -> sa-token-grpc。新增插件:
SpringBoot3.x 集成插件,感谢 @jry 提供的参考思路。 [重要]sa-token-dao-redisson-jackson 插件,感谢 @疯狂的狮子Li 提交的pr。 [重要]sa-token-core 核心包:
SaSignTemplate#joinParams 更名为 joinParamsDictSort。 [不向下兼容]SaAnnotationInterceptor 和 SaRouteInterceptor。sa-token-sso 单点登录:
SaSsoHandle 类。is-share=false 时无法单点注销的问题。其它模块:
@appleOfGray 提交的pr。 [重要]setExtra 数据。SaTokenListenerForConsolePrint 改名 SaTokenListenerForLog。 [不向下兼容]SaFoxUtil.getRandomString() 随机数重复问题。timeout 字段的问题。session.getModel 无法反序列化实体类的问题。sa-token-quick-login 插件指定拦截排除路由不生效的问题。sa-token-alone-redis + sa-token-dao-redis-fastson 时 Redis 无法分离的问题。SaFoxUtil.getValueByType() 新增对 char 类型的转换。sa-token-dao-redis-fastjson2 插件。 [重要]is-write-header,控制登录后是否将 Token 写入响应头。 [重要]start=-1时查询全部会话,改为 start=0,size=-1 时查询全部。 [不向下兼容]SaManager.getStpLogic("type") 默认当对应type不存在时不再抛出异常,而是自动创建并返回。/sso/logout -> /sso/signout,避免与 SSO-Client 端同 path 的冲突。 [不向下兼容]sso-server 和 sso-client 的示例。 [重要]sso-server 服务 的示例。 [重要]Gradle 依赖方式和 properties 风格配置。sa-token-dependencies,统一定义依赖版本。 [重要]部分场景下 Token 重复问题,受影响版本
=v1.32.0
- 受影响模块:
- sa-token-core 切换了 Token 风格:tik、random-32、random-64、random-128,如果使用 默认uuid、simple-uuid 风格则不受影响。
- sa-token-core 使用了临时 Token 认证模块,如果集成了 sa-token-temp-jwt 则不受影响。
- sa-token-core 使用了 Same-Token 模块。
- sa-token-jwt 全模块
- sa-token-oauth2 全模块
- sa-token-sso 模式二和模式三
SaInterceptor 综合拦截器。 [重要] [不向下兼容]@SaIgnore 忽略鉴权注解。 [重要]sa-token-dao-redis-fastjson,感谢 @sikadai 提交的pr。 [重要]sa-token-context-grpc,感谢 @LiYiMing666 提交的pr。 [重要]tokenSignList 的 final 修饰符。setTokenSignList 方法。setValue 和 setDevice 方法。StpLogic 的问题。StpUtil.getExtra(tokenValue, key) 方法,用于获取任意 token 的扩展参数。StpLogic#logoutByTokenValue 方法逻辑,精简代码。SaTokenConfig 配置类字段 isReadHead 改为 isReadHeader。 [不向下兼容]非Web上下文无法获取Request 的问题。StpLogic#getAnonTokenSession,可在未登录情况下安全的获取 Token-Session。 [重要]SaApplication 对象,用于全局作用域存取值。 [重要]SaTokenListener 改为事件发布订阅模式,允许同时注册多个侦听器。 [重要] [不向下兼容]DisableLoginException 更换名称为 DisableServiceException。 [不向下兼容]ssoLogoutCall 配置项无效的问题。SaSsoHandle.checkTicket(ticket, currUri); 方法,使其不提供 currUri 参数时将不再注册单点注销回调。SaOAuth2Handle 类中 doLogin 方法没有使用 Param.pwd 常量的问题。SaOAuth2Util.checkClientTokenScope(clientToken, scopes) 方法,校验 Client-Token 是否含有指定 Scope。sa-token-jwt 模块过期 class。sa-token-jwt 模块依赖改为 hutool-jwt,并升级版本为 5.8.5。sa-token-jwt 模块改为 Util + Template 形式,方便针对部分代码重写。 [重要]sa-token-oauth2 模块密码模式新增 client_secret 参数校验。[不向下兼容]jacoco 插件,核心包单元测试覆盖率提高至 90% 以上。sa-token-jfinal-plugin [重要]sa-token-jboot-plugin (感谢 @nxstv 提交的pr)StpUtil.getExtra("key") 无效的bugsa-token-context-dubbo dubbo版本:2.7.11 -> 2.7.15flatten-maven-plugin 统一版本号定义 (感谢 @ruansheng8 提交的pr) [重要]springboot 2.6.x 下 quick-login 插件循环依赖无法启动的问题sa-token-spring-aop 依赖改为 sa-token-core,避免在webflux环境下启动报错的问题Id-Token 鉴权无效的问题maxLoginCount 配置,指定同一账号可同时在线的最大数量 [重要]sa-token-dao-redisx 插件,感谢 @noear 提交的pr [重要]2.5.12AjaxJson 改为 SaResultSaTokenException 增加 code 异常细分状态码。详见 [重要]NotPermissionException 类中 getCode() 方法改为 getPermission()。 [不向下兼容]sa-token-sso [重要]stpLogic.logout(loginId) 更符合情景/sso/checkTicket、/sso/logout,更改响应体格式 [不向下兼容]try-catch,提高容错性SsoUtil.singleLogout 改为 SsoUtil.ssoLogout,且无需再提供 secretkey 参数 [不向下兼容]sa-token-jwt 的创建,强制校验loginType [不向下兼容]StpLogicJwtForStateless 由重写 login 方法改为重写 createLoginSessionSaJwtUtil 工具类不再吞并异常消息,且提供精细化异常 code 码。StpLogicJwtForSimple 模式下 Extra 数据可能受到旧 token 影响的bugdeleteAccessTokenIndex 回收 token 不彻底的bug。pastClientTokenTimeout,用于指定 PastClientToken 默认有效期。StpUtil.renewTimeout(100); 方法,用于 Token 的 Timeout 值续期。updateObject 无效的bugsa-token-jwt 插件,用于与jwt的整合 [重要]sa-token-context-dubbo 插件,用于与 Dubbo 的整合 [重要]getSaTokenDao() 方法,方便重写getDeviceOrDefaultsecure、httpOnly、sameSite等属性的配置 [重要]StpUtil.hasPermissionAnd、StpUtil.hasPermissionOrStpUtil.hasRoleAnd、StpUtil.hasRoleOrStpUtil.getRoleList() 和 StpUtil.getPermissionList() 方法StpUtil.logoutByLoginId() 更换为 StpUtil.kickout();Http Basic 认证 [重要]SSO-Server 端前后端分离示例 [重要]SaRequest新增getHeader(name, defaultValue)方法,用于获取header默认值SaRequest 添加 forward 转发方法Sa-Token-Study 链接,讲解 Sa-Token 源码涉及到的技术点SaReactorHolder.getContent() 拼写错误:content -> contextSa-Id-Token 模块,解决微服务内部调用鉴权 [重要]StpLogicSaSsoHandle 大幅度简化单点登录整合步骤 [重要]Sa-Token-Alone-Redis独立Redis插件 [重要]SaRouter.back()函数,用于停止匹配返回结果[spring.sa-token.] 改为 [sa-token.],目前版本暂时向下兼容,请尽快更新@刘西东 提供的pr [重要]SaRouter.stop()函数,用于一次性跳出匹配链功能 [重要]sa-token-temp-jwt模块整合jwt临时令牌鉴权 [重要]SaSession.get() 增加缓存API,简化代码Spring Cloud Bus 与 Sa-Token 冲突的问题 [重要]SaServletFilter异常函数中无法自定义Content-Type的问题StpUtil.setLoginId(id) -> StpUtil.login(id)StpUtil.getLoginKey() -> StpUtil.getLoginType() (注意其它所有地方的LoginKey均已更改为loginType)SaRouterUtil -> SaRouterallowConcurrentLogin -> isConcurrentisV -> isPrint@Deprecated注解,请尽快更新至新APIplugin模块 [重要]sa-token-quick-login 插件,零代码集成登录功能 [重要]@FunctionalInterface注解,感谢群友@MrXionGe提供的建议SaRequest中缺少getMethod()的bug@N的建议beforAuth 前置函数@dlwlrma提供的建议SaHolder上下文持有类,可方便的在上下文中读写数据SaTokenManager -> SaManagerSaTokenInsideUtil -> SaFoxUtilServletAPI,彻底零依赖! [重要]ThreadLocal的上下文容器 [重要]Reactor响应式编程支持,WebFlux集成! [重要]ShenYu、Gateway等网关组件! [重要]Order顺序为-100,可保证在多个自定义切面前执行@-) 提供的建议Bearer token规范 [重要]SaTokenManager初始化Bean去除initXxx方法,优化代码逻辑SaTokenManager新增stpLogicMap集合,记录所有StpLogic的初始化,方便查找Session新增timeout操作API,可灵活修改Session的剩余有效时间SaRouteInterceptor,只保留自定义验证和默认的登陆验证,去除冗余功能SaRouterUtil迁移到core核心包,优化依赖架构Timer定时器改为子线程 + sleep 模拟Session新增各种类型转换API,可快速方便存取值 [重要]SaRouterUtil类迁移到核心包,注意更换import地址SaRouteInterceptor去出冗余API,详情参考路由鉴权部分SaLoginModel登录参数Model,适配 [记住我] 模式 [重要]StpUtil.login() 时指定token有效期,可灵活控制用户的一次登录免验证时长timeout设置为-1时,Cookie有效期将为Integer.MAX_VALUE [重要]SaTokenConfig配置类所有set方法支持链式调用SaOAuth2Config sa-token oauth2 配置类所有set方法新增支持链式调用StpLogic类所有getKey方法重名为splicingKey,更语义化的函数名称IsRunFunction新增noExe函数,用于指定当isRun值为false时执行的函数SaSession新增数据存取值操作APISaTokenDao接口,增加Object操作APIcreateToken方法去除默认秘钥判断,只在启动项目时打印警告Maven版本号更改为变量形式getPermissionList错误的bugStpUtil.getTokenInfo()会触发自动续签的bugSaTokenDao 的 searchData 函数注释错误SaSession的创建抽象到SaTokenAction接口,方便按需重写SaTokenException 方便在异常处理时分辨处理SaSession新增setId()与setCreateTime()方法,方便部分框架的序列化autoRenew配置,用于控制是否打开自动续签模式SaCheckInterceptor.java更名为SaAnnotationInterceptor.java,更语义化的名���SaRouterUtil工具类,更方便的路由鉴权 [重要]spring-boot-starter-data-redis 由 2.3.7.RELEASE 改为 2.3.3.RELEASE@SaCheckRole的bugsa-token集成 redis 的 spring-boot-starter 方案 [重要]redis 时,以jackson作为序列化方案 [重要]token专属session, 更灵活的会话管理 [重要]token专属session时是否必须登录token-session会话模型! [重要]StpUtil删除部分冗长API,保持API清爽性StpUtil.kickoutByLoginId()API,由logoutByLoginId代替Apache-2.0springboot的集成改为springboot-starter模式,无需@SaTokenSetup注解即可完成自动装配 [重要]activity-timeout配置,可控制token临时过期与续签功能 [重要]timeout过期时间新增-1值,代表永不过期StpUtil.getTokenInfo()改为对象形式,新增部分常用字段readme.mdSaCookieOper与SaTokenAction无法自动注入的问题StpUtil.getSessionByLoginId(String loginId)方法转换key出错的bug,感谢群友 @(#°Д°)、@一米阳光 发现的bugStpUtil.getSessionByLoginId(Object loginId)的isCreate值默认为true方法delSaSession修改为deleteSaSession,更加语义化的函数名称StpUtil.getTokenName()方法,更语义化的获取tokenNameSaTokenAction框架行为Bean,方便重写逻辑Cookie操作改为接口代理模式,使其可以被重写StpUtil.getLoginId_defaultNull() 修复方法名错误的问题readme.mdMITtokenValue的读取优先级改为:request > body > header > cookie [重要]isReadCookie配置,决定是否从cookie里读取token信息isReadCookie配置为false,那么在登录时也不会把cookie写入cookiegetSessionByLoginId(Object loginId, boolean isCreate)方法StpUtil.checkLogin() 方法,更符合语义化的鉴权方法StpLogic ,方便不同模块不同鉴权方式loginType 区分,方便多账号体系鉴权处理StpUtil.getLoginId(T defaultValue)取值转换错误的bug