【问题标题】:JWT Authentication in JAVA .JAVA 中的 JWT 身份验证。
【发布时间】:2017-04-20 00:41:07
【问题描述】:

我为每个用户登录颁发 JWT 令牌并在每次请求后对其进行验证,但我无法将 jwt 存储到内存中的任何位置。那么如何验证我收到的 JWT 是有效的,并且没有在两者之间进行调整。

【问题讨论】:

  • 你必须为此编写一个验证方法。
  • 是的。我知道我必须使用签名验证收到的标头和有效负载。但我现在无法做到这一点。你能分享一下代码吗?我正在使用 SignatureAlgorithm.HS256;谢谢

标签: java jwt


【解决方案1】:

这可能会对您有所帮助:

final String secret = "{{secret used for signing}}";

try {

    final JWTVerifier verifier = new JWTVerifier(secret);
    final Map<String, Object> claims= verifier.verify(jwt);

} 
catch (JWTVerifyException e) 
{

    // Invalid Token
}

或者查看这个 repo for java library 来签名和验证 jwt 令牌。

https://github.com/auth0/java-jwt

【讨论】:

  • 这没有帮助。我正在使用“io.jsonwebtoken”。创建我的 JWT。
  • 好的,我想你正在寻找这个github.com/jwtk/jjwt。他也有用于验证 jwt 令牌的示例代码。
  • 这是验证 JWT 令牌的原因,否则会抛出异常。Jwts.parser().setSigningKey(key).parseClaimsJws(compactJws);
猜你喜欢
  • 2020-12-25
  • 2020-11-16
  • 2020-03-18
  • 2020-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-24
  • 2019-01-07
相关资源
最近更新 更多