首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
需要做一个基于hash的token jfinal怎么实现呢
hahahahhaha
2018-04-16 14:40
急,谁有token生成的工具类,采用给红包 谢谢大家
项目:
JFinal
1
1
评论区
prelove
2018-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();
}
回复
hahahahhaha
2018-04-16 15:54
@prelove
JwtBuilder builder = Jwts.builder() 报错
回复
prelove
2018-04-24 15:12
@hahahahhaha
要引用jjwt的包,
io.jsonwebtoken
jjwt
0.4
回复
发送
我要分享
热门分享
扫码入社
* @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();
}