解析在Jersey请求过滤器中从客户端请求的X-AUTH-TOKEN头中检索的正确签名的JJWT令牌时的SignatureException

时间:2017-03-06 11:30:21

标签: java http-headers jersey-2.0 jjwt

我正在尝试解析JJWT令牌中的声明,我从客户端请求的X-AUTH-TOKEN标头中检索。 问题是解析会抛出SignatureException,尽管令牌已正确签名。

这是我的泽西过滤器:

@Provider
public class ClientClaimsFilter implements ContainerRequestFilter {

    @Override
    public void filter(ContainerRequestContext requestContext) throws IOException {
        String token = requestContext.getHeaderString("X-AUTH-TOKEN");
        if ((token != null) && (!token.isEmpty())) {
            Claims claims = Jwts.parse().setSigningKey(key).parseClaimsJws(token).getBody();
        }
    }
}

生成key的地方String key = TextCodec.BASE64.encode(MacProvider.generateKey(SignatureAlgorithm.HS256).getEncoded()); 我验证了密钥在生成令牌和解析时保持不变。但是解析时仍然存在SignatureException。

0 个答案:

没有答案