问题描述
- 在微服务工程中,JwtToken作为common工程下的公共模块,同时被goods8011和ucenter8081服务调用,
在使用ucenter模块登陆后生成的token可以在ucenter模块校验成功,但是goods模块校验token失败
无法校验token
- 使用生成的token在ucenter模块中是可以校验并成功解析
- 但是在goods模块中无法解析token
解决
原因
-
在JwtToken生成的工具类中加密/解密密钥使用了UUID,在两个模块校验token的时候使用的是两个不相同的密钥解密
-
ucenter模块输出的密钥
-
goods模块输出的密钥
使用一串固定的密钥即可
注意
注意: 密钥生成只能是数字和字母组合(不能纯数字、纯字母或者含有特殊符号
总结
- 密钥为数字 + 字母组合(可以不同,但区别不能过大)
- 每个模块编译common中的类方法为自己源文件,各模块的密钥不是相等的。