美文网首页
2020-06-02-JWT生成token

2020-06-02-JWT生成token

作者: 818b93484d29 | 来源:发表于2020-06-02 15:43 被阅读0次
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();
    }

相关文章

网友评论

      本文标题:2020-06-02-JWT生成token

      本文链接:https://www.haomeiwen.com/subject/kdwuzhtx.html