我想检查我的 JWT 令牌是否仍然有效(exp 仍然在未来)但我不确定我是否以正确的方式做到了。
我的检查功能 -
public boolean checkForValidExpField(String jwtToken) throws JsonProcessingException, IOException {
//split by .
String[] split_string = jwtToken.split("\\.");
//get body
String base64EncodedBody = split_string[1];
Base64 base64Url = new Base64(true);
String body = new String(base64Url.decode(base64EncodedBody));
//body to json
ObjectMapper mapper = new ObjectMapper();
JsonNode actualObj = mapper.readTree(body);
//get exp
String exp = actualObj.get(JWT_EXP_KEY).asText(); //JWT_EXP_KEY = exp
//to long
long expLong = Long.parseLong(exp) * 1000;
//get current TS
long currentTime = System.currentTimeMillis();
//check
return expLong >= currentTime;
}
这是只检查 exp 字段的正确方法吗?我自己写的,所以我只是想确定一下。
慕容森
相关分类