springboot+resttemplate+jwt踩到的坑

在客户端访问认证服务时,一直出现JWT signature does not match locally computed signature. JWT validity cannot be asserted and should not be trusted.的异常
后来经过查看源码发现,在RestTemplate中传递过来的map集合中的数据,基本类型会成为ArrayList,而引用类型则会转为ArrayList中存在LinkedHashMap的对象。
所以在将ArrayList转为json字符串的时候token两边包含‘[’,’]'两个字符,在jwt进行验签检查时,会检查signature部分的字符串与另一个通过解析得到的字符串是否相等,如果不去掉这两个字符的话会一直出现这个异常,通过加入token = token.replace("[", “”);
token = token.replace("]", “”);后问题解决!

以上问题需具体问题,具体分析!希望对您有用!

你可能感兴趣的:(jwt权限认证)