2020-06-02-JWT生成token

private static final String SECRET            = "XsCfsquycdfkshfiyefHHHH";  

public static String createToken(String accountId) throws BaseException {

        if(StringUtils.isBlank(accountId)){
            throw new BaseException(CodeEnum.PARAMS_FAILTURE.getCode(),"用户 Id 不可为空!");
        }
        // build token
        // param backups {iss:lyzh_hw4, aud:Web}
        String token = JWT.create() // header
                .withClaim("iss", TokenClaimEnum.ABC.getClaim()) // payload
                .withClaim("aud", TokenClaimEnum.WEB_YW.getClaim())
                .withClaim("accountId", accountId)
                .sign(Algorithm.HMAC256(SECRET)); // signature
        return token;
    }

    /**
     * 解密Token, 获取 claims 中的信息
     *
     * @param token
     * @return
     * @throws Exception
     */
    public static Map<String, Claim> decryToken(String token) {
        JWTVerifier verifier = JWT.require(Algorithm.HMAC256(SECRET)).build();
        DecodedJWT jwt = verifier.verify(token);
        return jwt.getClaims();
    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。