小编Bil*_*ali的帖子

JWT 签名与本地计算的签名不匹配。JWT 有效性无法断言,不应被信任

我正在构建一个服务器端REST服务应用程序。我的JWT身份验证令牌有问题。登录后我可以轻松获取令牌(这里我使用Postman)。

在此处输入图片说明

但是,当我尝试使用相同的令牌对访问受保护REST控制器的请求进行身份验证时,出现以下错误:

io.jsonwebtoken.SignatureException: JWT signature does not match locally computed signature. JWT validity cannot be asserted and should not be trusted.
    at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:354)
    at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
    at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
    at com.configuration.jwt.JwtTokenUtil.extractClaims(JwtTokenUtil.java:104)
    at com.configuration.jwt.JwtTokenUtil.getUsernameFromToken(JwtTokenUtil.java:39)
    at com.configuration.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:44)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
...
Run Code Online (Sandbox Code Playgroud)

就像应用程序不记得它生成的令牌一样。这是来自Postman的 get 请求,它产生了这个错误:

在此处输入图片说明

我想异常的来源来自extractClaims我的类的方法JwtTokenUtil

@Component
public final class JwtTokenUtil {

    public static final int EXPIRATION_IN_SECONDS = 120;

    private static final String JWT_SECRET = "Some$ecretKey";

    private Clock clock = DefaultClock.INSTANCE;

    @Value("${jwt.secret}") …
Run Code Online (Sandbox Code Playgroud)

rest spring spring-security jwt postman

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

jwt ×1

postman ×1

rest ×1

spring ×1

spring-security ×1