如何验证或验证 JWT 签名?

Posted

技术标签:

【中文标题】如何验证或验证 JWT 签名?【英文标题】:How to validate or verify JWT Signature? 【发布时间】:2014-05-29 16:30:42 【问题描述】:

我正在尝试在 Java 中验证 JWT 令牌。如何验证或验证 JWT 令牌的 JWT 签名?

【问题讨论】:

【参考方案1】:

您可以使用来自 https://github.com/spring-projects/spring-security-oauth 和 http://mvnrepository.com/artifact/org.springframework.security/spring-security-jwt/1.0.1.RELEASE 的 Spring Security 的 JWT 库。

org.springframework.security.jwt.JwtHelper 类有一个静态方法,允许您解析 JWT 令牌并验证其签名。

【讨论】:

非常感谢。你节省了我的时间。但是使用这个 jar 并没有根据过期时间验证令牌 没错,库不会解释令牌中包含的任何声明(即它不会尝试理解令牌的内容),这意味着它也不会检查任何到期。另外,您的问题只是关于验证签名。在您自己的代码中检查过期很简单,并且可能是首选,因为声明“exp”可以以不同的方式编码(例如,包括或跳过毫秒)。 还有 Java EE 的库吗?

以上是关于如何验证或验证 JWT 签名?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中使用令牌和公钥验证 JWT 签名

c#如何验证签名JWT?

JWT 令牌签名验证 javascript

如何使用在线工具手动验证 JWT 签名

Microsoft 帐户 JWT 身份验证令牌如何签名?

如何使用 pyJWT 验证此 JWT 上的签名?