### Question:
SingleJWT { public Map<String, Claim> decodeToken(String token) { DecodedJWT jwt = verifier.verify(token); checkTokenExpired(jwt.getExpiresAt()); return jwt.getClaims(); } SingleJWT(Algorithm algorithm, long expire);  SingleJWT(String secret, long expire); String generateToken(String tokenType, long identity, String scope, long expire); Map<String, Claim> decodeToken(String token); JWTVerifier getVerifier(); JWTCreator.Builder getBuilder(); Algorithm getAlgorithm(); Long getExpire();  }### Answer:
@Test public void decodeToken() { SingleJWT jwt = new SingleJWT("secret", 10000); String token = jwt.getBuilder() .withClaim("type", "test") .withClaim("identity", 1) .withClaim("scope", "test") .withExpiresAt(DateUtil.getDurationDate(10000)) .sign(jwt.getAlgorithm()); assertNotNull(token); log.info(token); Map<String, Claim> claimMap = jwt.decodeToken(token); log.info("{}", claimMap); assertEquals(claimMap.get("type").asString(), "test"); assertEquals(claimMap.get("scope").asString(), "test"); }