旗开得胜
This commit is contained in:
40
src/main/java/com/greenorange/promotion/utils/JWTUtils.java
Normal file
40
src/main/java/com/greenorange/promotion/utils/JWTUtils.java
Normal file
@ -0,0 +1,40 @@
|
||||
package com.greenorange.promotion.utils;
|
||||
|
||||
import com.auth0.jwt.JWT;
|
||||
import com.auth0.jwt.JWTCreator;
|
||||
import com.auth0.jwt.algorithms.Algorithm;
|
||||
import com.auth0.jwt.interfaces.DecodedJWT;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Map;
|
||||
|
||||
public class JWTUtils {
|
||||
|
||||
/**
|
||||
* 生成token header.payload.signature
|
||||
*/
|
||||
private static final String SECRET = "qingcheng";
|
||||
|
||||
public static String getToken(Map<String, String> map) {
|
||||
|
||||
Calendar instance = Calendar.getInstance();
|
||||
// 默认7天过期
|
||||
instance.add(Calendar.DATE, 7);
|
||||
|
||||
//创建jwt builder
|
||||
JWTCreator.Builder builder = JWT.create();
|
||||
|
||||
// payload
|
||||
map.forEach(builder::withClaim);
|
||||
return builder.withExpiresAt(instance.getTime()) //指定令牌过期时间
|
||||
.sign(Algorithm.HMAC256(SECRET));
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证token 合法性
|
||||
*/
|
||||
public static DecodedJWT verify(String token) {
|
||||
return JWT.require(Algorithm.HMAC256(SECRET)).build().verify(token);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user