java – JWT签名与本地计算签名不匹配
发布时间:2020-05-24 10:05:34 所属栏目:Java 来源:互联网
导读:我在用 JwtBuilder builder = Jwts.builder() .setId(user.getEmail()) .signWith(signatureAlgorithm, signingKey); 然后创建一个令牌 Jwts.parser().setSigningKey(secret).parse(to
|
我在用 JwtBuilder builder = Jwts.builder()
.setId(user.getEmail())
.signWith(signatureAlgorithm,signingKey);
然后创建一个令牌 Jwts.parser().setSigningKey(secret).parse(token); 进行身份验证.当我在JUnit测试中运行它时,它工作正常.但是,当我通过REST调用验证作为标头传递的令牌时,身份验证因SignatureException而失败.我已经验证了HTTP调用两端的令牌,令牌字符串是相同的.创建/认证的代码是静态的,因此,每侧的秘密是相同的.任何线索 解决方法static Key secret = MacProvider.generateKey();每次重新加载服务器时都会生成一个新的随机密钥,因为在加载类时会初始化静态变量这意味着如果您发出JWT,它只有在服务器不重启时才有效.你得到的SignatureException是因为签名密钥不同 您需要在第一代之后存储签名密钥secret.getEncoded()并在模块启动时加载它 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 解决XML Parser Error on line 1: 前言中不允许有内容错误
- java – 在swing应用程序中保留键盘布局?
- java 判断两个对象是否为同一个对象实例代码
- java – 我应该把public static void main(String [] args)
- Java Logging – Wrapper?
- 如何在java中使用Http,Socks4和Socks5代理?
- Java Swing:Jtable ArrayIndexOutOfBoundsException
- java – 如何将参数传递给Rest-Assured
- 将两个类似的json字段编组到同一个java字段
- orm – 将Glassfish v2升级到JPA 2.0?
