diff --git a/core/src/main/java/com/usthe/sureness/util/JsonWebTokenUtil.java b/core/src/main/java/com/usthe/sureness/util/JsonWebTokenUtil.java index ad98ac5a68307c54834083db71cbe013765ba82b..b74fd1fac3f71182095c9d00030a0da39d8e60c4 100644 --- a/core/src/main/java/com/usthe/sureness/util/JsonWebTokenUtil.java +++ b/core/src/main/java/com/usthe/sureness/util/JsonWebTokenUtil.java @@ -78,7 +78,7 @@ public class JsonWebTokenUtil { * @param notBefore Not Before(ms) * @param headerMap header * @param customClaimMap custom claim param - * @return + * @return json web token */ public static String issueJwtAll(String id, String subject, String issuer, Long period, String audience, String payload, Long notBefore, diff --git a/core/src/test/java/com/usthe/sureness/util/JsonWebTokenUtilTest.java b/core/src/test/java/com/usthe/sureness/util/JsonWebTokenUtilTest.java index 8f8a2ea505610cded459e37d94b0a1396fa811cc..539459477d58f6e28d5b69e4faa5948b05a8f068 100644 --- a/core/src/test/java/com/usthe/sureness/util/JsonWebTokenUtilTest.java +++ b/core/src/test/java/com/usthe/sureness/util/JsonWebTokenUtilTest.java @@ -1,9 +1,9 @@ package com.usthe.sureness.util; +import io.jsonwebtoken.Claims; import org.junit.jupiter.api.Test; -import java.util.Arrays; -import java.util.UUID; +import java.util.*; import static org.junit.jupiter.api.Assertions.*; @@ -22,6 +22,17 @@ public class JsonWebTokenUtilTest { assertNotNull(jwt); } + @Test + void issueJwtAll() { + Map customClaimMap = new HashMap<>(4); + customClaimMap.put("roles", Arrays.asList("role2", "rol3")); + customClaimMap.put("perms", null); + customClaimMap.put("isRefresh", true); + String jwt = JsonWebTokenUtil.issueJwtAll(UUID.randomUUID().toString(), "tom", + "token-server", 36000L, null, null, null, customClaimMap, null); + assertNotNull(jwt); + } + @Test public void isNotJsonWebToken() { String jwt = JsonWebTokenUtil.issueJwt(UUID.randomUUID().toString(), "tom", @@ -38,6 +49,28 @@ public class JsonWebTokenUtilTest { String jwt = JsonWebTokenUtil.issueJwt(UUID.randomUUID().toString(), "tom", "token-server", 36000L, Arrays.asList("role2", "rol3"), null, Boolean.FALSE); - assertNotNull(JsonWebTokenUtil.parseJwt(jwt)); + Claims claims = JsonWebTokenUtil.parseJwt(jwt); + assertNotNull(claims); + assertEquals("tom", claims.getSubject()); + assertEquals("token-server", claims.getIssuer()); + assertNotNull(claims.get("roles", List.class)); + assertNull(claims.get("perms", List.class)); + assertFalse(claims.get("isRefresh", Boolean.class)); + assertEquals(2, claims.get("roles", List.class).size()); + + Map customClaimMap = new HashMap<>(4); + customClaimMap.put("roles", Arrays.asList("role2", "rol3", "role4")); + customClaimMap.put("perms", null); + customClaimMap.put("isRefresh", true); + String jwt2 = JsonWebTokenUtil.issueJwtAll(UUID.randomUUID().toString(), "tom", + "token-server", 36000L, null, null, null, null, customClaimMap); + Claims claims2 = JsonWebTokenUtil.parseJwt(jwt2); + assertNotNull(claims2); + assertEquals("tom", claims2.getSubject()); + assertEquals("token-server", claims2.getIssuer()); + assertNotNull(claims2.get("roles", List.class)); + assertNull(claims2.get("perms", List.class)); + assertTrue(claims2.get("isRefresh", Boolean.class)); + assertEquals(3, claims2.get("roles", List.class).size()); } } \ No newline at end of file