gpt4 book ai didi

java - Auth0 JWT java 库随机抛出错误

转载 作者:太空宇宙 更新时间:2023-11-04 12:14:57 25 4
gpt4 key购买 nike

我们使用 auth0 java 库进行 JWT 生成和验证。问题是它会随机抛出同一字符串的异常。我不太确定是什么导致了这个问题。下面是我的代码-

final static String secret = "some random key";
final static JWTSigner signer = new JWTSigner(secret);
final static JWTVerifier verifier = new JWTVerifier(secret);

public String gen(UUID id) {
final long iat = System.currentTimeMillis() / 1000l; // issued at claim
final HashMap<String, Object> claims = new HashMap<String, Object>();
claims.put("id", id.toString());
claims.put("iat", iat);

final String jwt = signer.sign(claims);

return jwt;
}

/** This method checks Bearer <jwt> and <jwt> both type of tokens */
protected UUID authenticate(String jwt) {
UUID userId = null;
try {
try { // Getting the token

String[] ar = jwt.split(Constants.WHITE_SPACE);
final Map<String, Object> claims = verifier.verify(ar[1].trim());
userId = UUID.fromString((String) claims.get("id"));

} catch (ArrayIndexOutOfBoundsException aie) {

final Map<String, Object> claims = verifier.verify(jwt.trim());
userId = UUID.fromString((String) claims.get("id"));
}

return userId;

} catch (Exception e) {
log.debug("Not a valid JWT string:" + jwt, e);
return null;
}
}

它有时会起作用,有时会引发随机错误。喜欢

Not a valid JWT string:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE0NzM4NTE5NjQsImlkIjoiMmMwMTBiNTAtODhiNC00NWMxLWI4OGItOGY2ZDNmMzFkZjdlIn0.CHRsJxuTZe7y1VQikP9a0_-nWVA-TMundam506VTGx4 
com.auth0.jwt.internal.com.fasterxml.jackson.core.JsonParseException: Unexpected close marker ']': expected '}' (for ROOT starting at [Source: java.io.StringReader@11c289a2; line: 1, column: 0])
at [Source: java.io.StringReader@11c289a2; line: 1, column: 2]

Not a valid JWT string:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE0NzM4NTE5NjQsImlkIjoiMmMwMTBiNTAtODhiNC00NWMxLWI4OGItOGY2ZDNmMzFkZjdlIn0.CHRsJxuTZe7y1VQikP9a0_-nWVA-TMundam506VTGx4
com.auth0.jwt.internal.com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.LinkedHashMap out of VALUE_NUMBER_INT token
at [Source: N/A; line: -1, column: -1]

我们错过了什么吗?请帮忙。

最佳答案

经过一番努力,我们切换到另一个库,到目前为止我们没有遇到任何问题。

    <!-- JWT -->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.7.0</version>
</dependency>

关于java - Auth0 JWT java 库随机抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39513963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com