fix test and regex

This commit is contained in:
Looly
2021-09-23 17:05:06 +08:00
parent d2900600e0
commit ba00f03026
13 changed files with 74 additions and 116 deletions

View File

@@ -50,7 +50,7 @@ public class JWT implements RegisteredPayload<JWT> {
/**
* 创建空的JWT对象
*
* @return {@link JWT}
* @return JWT
*/
public static JWT create() {
return new JWT();
@@ -60,7 +60,7 @@ public class JWT implements RegisteredPayload<JWT> {
* 创建并解析JWT对象
*
* @param token JWT Token字符串格式为xxxx.yyyy.zzzz
* @return {@link JWT}
* @return JWT
*/
public static JWT of(String token) {
return new JWT(token);

View File

@@ -27,7 +27,7 @@ public class JWTValidator {
* 创建JWT验证器
*
* @param token JWT Token
* @return {@link JWTValidator}
* @return JWTValidator
*/
public static JWTValidator of(String token) {
return new JWTValidator(JWT.of(token));
@@ -37,7 +37,7 @@ public class JWTValidator {
* 创建JWT验证器
*
* @param jwt JWT对象
* @return {@link JWTValidator}
* @return JWTValidator
*/
public static JWTValidator of(JWT jwt) {
return new JWTValidator(jwt);
@@ -209,7 +209,8 @@ public class JWTValidator {
}
/**
* 验证指定字段的时间不能晚于当前时间
* 验证指定字段的时间不能晚于当前时间<br>
* 被检查的日期不存在则跳过
*
* @param fieldName 字段名
* @param dateToCheck 被检查的字段日期
@@ -229,7 +230,8 @@ public class JWTValidator {
}
/**
* 验证指定字段的时间不能早于当前时间
* 验证指定字段的时间不能早于当前时间<br>
* 被检查的日期不存在则跳过
*
* @param fieldName 字段名
* @param dateToCheck 被检查的字段日期

View File

@@ -19,6 +19,13 @@ public class JWTSignerTest {
signAndVerify(signer);
}
@Test
public void hs256Test2(){
final JWTSigner signer = JWTSignerUtil.hs256("123456".getBytes());
signAndVerify(signer);
}
@Test
public void hs384Test(){
String id = "hs384";

View File

@@ -1,5 +1,6 @@
package cn.hutool.jwt;
import org.junit.Assert;
import org.junit.Test;
import java.util.HashMap;
@@ -21,4 +22,34 @@ public class JWTUtilTest {
JWTUtil.createToken(map, key);
}
@Test
public void parseTest(){
String rightToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9." +
"eyJzdWIiOiIxMjM0NTY3ODkwIiwiYWRtaW4iOnRydWUsIm5hbWUiOiJsb29seSJ9." +
"U2aQkC2THYV9L0fTN-yBBI7gmo5xhmvMhATtu8v0zEA";
final JWT jwt = JWTUtil.parseToken(rightToken);
Assert.assertTrue(jwt.setKey("1234567890".getBytes()).verify());
//header
Assert.assertEquals("JWT", jwt.getHeader(JWTHeader.TYPE));
Assert.assertEquals("HS256", jwt.getHeader(JWTHeader.ALGORITHM));
Assert.assertNull(jwt.getHeader(JWTHeader.CONTENT_TYPE));
//payload
Assert.assertEquals("1234567890", jwt.getPayload("sub"));
Assert.assertEquals("looly", jwt.getPayload("name"));
Assert.assertEquals(true, jwt.getPayload("admin"));
}
@Test
public void verifyTest(){
String token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9." +
"eyJ1c2VyX25hbWUiOiJhZG1pbiIsInNjb3BlIjpbImFsbCJdLCJleHAiOjE2MjQwMDQ4MjIsInVzZXJJZCI6MSwiYXV0aG9yaXRpZXMiOlsiUk9MRV_op5LoibLkuozlj7ciLCJzeXNfbWVudV8xIiwiUk9MRV_op5LoibLkuIDlj7ciLCJzeXNfbWVudV8yIl0sImp0aSI6ImQ0YzVlYjgwLTA5ZTctNGU0ZC1hZTg3LTVkNGI5M2FhNmFiNiIsImNsaWVudF9pZCI6ImhhbmR5LXNob3AifQ." +
"aixF1eKlAKS_k3ynFnStE7-IRGiD5YaqznvK2xEjBew";
final boolean verify = JWTUtil.verify(token, "123456".getBytes());
Assert.assertTrue(verify);
}
}