JFinal

登录 注册

需要做一个基于hash的token jfinal怎么实现呢


急,谁有token生成的工具类,采用给红包 谢谢大家

评论

  • 04-16 15:11
    /**
    * @param subject 当前token对应的User标识,放header
    * @param audience 接收者,放header
    * @param TTLMillis 过期时间
    * @param data 当前User相关情报信息,放body
    * @return jwt字符串
    */
    private static String createJWT(String subject, String audience,
    long TTLMillis, Map data) {

    SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;

    long nowMillis = System.currentTimeMillis();
    Date now = new Date(nowMillis);

    Map header = new HashMap();
    header.put("IssuedAt", now); // 创建时间
    header.put("Subject", subject); // 主题:用户标识
    header.put("Issuer", issuer); // 发布者
    header.put("Audience", audience); // 接收者
    header.put("typ", "JWT");

    // 添加构成JWT的参数
    JwtBuilder builder = Jwts.builder()
    .setHeader(header)
    .setClaims(data)
    .signWith(signatureAlgorithm, key.getBytes());
    // 添加Token过期时间
    if (TTLMillis >= 0) { // 过期时间
    long expMillis = nowMillis + TTLMillis;
    Date exp = new Date(expMillis); // 现在是什么时间
    builder.setExpiration(exp).setNotBefore(now); // 系统时间之前的token都是不可以被承认的
    }
    // 生成JWT
    return builder.compact();
    }
  • 04-16 15:54
    @prelove JwtBuilder builder = Jwts.builder() 报错
  • 04-24 15:12
    @hahahahhaha 要引用jjwt的包,


    io.jsonwebtoken
    jjwt
    0.4

  • 发送