前提: 服务端token过期时间设置为24小时
问题: 2.2.0升级到2.2.1之后,前段登录显弹窗Invalid signature,接口登录403。重新登录后,问题解决。看了下2.2.1的release日志,应该是鉴权插件修改了
请问下,应用通过鉴权插件登录的情况下,是不是在token过期之前,应用的请求都会403?有办法可以平滑升级吗?
前提: 服务端token过期时间设置为24小时
问题: 2.2.0升级到2.2.1之后,前段登录显弹窗Invalid signature,接口登录403。重新登录后,问题解决。看了下2.2.1的release日志,应该是鉴权插件修改了
请问下,应用通过鉴权插件登录的情况下,是不是在token过期之前,应用的请求都会403?有办法可以平滑升级吗?
@YunWZ 1、是这个配置项吗?nacos.core.auth.plugin.nacos.token.secret.key,这个在升级的时候没有修改,用的默认的SecretKey012345678901234567890123456789012345678901234567890123456789 2、这个是有的,但是在token未过期的时候,不会重新登录
使用公开的默认密钥会有安全问题
@YunWZ 没有关系,我们因为重登录的插件有问题,所以密钥这块不能修改,现在比较麻烦的是,密钥没有改,升级会出现验签失败
哦,密钥没改的情况下出现Invalid signature,是因为之前固定使用HMAC256的验签方式,2.2.1里面则是根据密钥长度选择合适的加密算法(HMAC256/384/512)
这个可配置吗?
你可以试一下将密钥设置为U2VjcmV0S2V5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=,然后使用旧的jwt验证是否解决Invalid signature的问题。(我不确定是否有效)
@YunWZ 不太行,还是会报,使用旧的jwt是指在2.2.1上使用吗?请问这个如何指定
see https://nacos.io/zh-cn/blog/announcement-token-secret-key.html
过期时间是记录在客户端的, 未到时间前,客户端会一直用旧token请求, 所以需要先修改一下ttl。