JAVA 中的 JWT 身份验证。
Posted
技术标签:
【中文标题】JAVA 中的 JWT 身份验证。【英文标题】:JWT Authentication in JAVA . 【发布时间】:2017-04-20 00:41:07 【问题描述】:我为每个用户登录颁发 JWT 令牌并在每次请求后对其进行验证,但我无法将 jwt 存储到内存中的任何位置。那么如何验证我收到的 JWT 是有效的,并且没有在两者之间进行调整。
【问题讨论】:
你必须为此编写一个验证方法。 是的。我知道我必须使用签名验证收到的标头和有效负载。但我现在无法做到这一点。你能分享一下代码吗?我正在使用 SignatureAlgorithm.HS256;谢谢 【参考方案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);以上是关于JAVA 中的 JWT 身份验证。的主要内容,如果未能解决你的问题,请参考以下文章