Created
July 16, 2019 01:28
-
-
Save diaolizhi/8c6ecc94085b2746f9a210ba8c36949f to your computer and use it in GitHub Desktop.
JWT 工具类
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import io.jsonwebtoken.Claims; | |
import io.jsonwebtoken.Jwts; | |
import io.jsonwebtoken.SignatureAlgorithm; | |
import net.xdclass.xdvideo.domain.User; | |
import java.util.Date; | |
/** | |
* jwt工具类 | |
*/ | |
public class JwtUtils { | |
public static final String SUBJECT = "xdclass"; | |
public static final long EXPIRE = 1000*60*60*24*7; //过期时间,毫秒,一周 | |
//秘钥 | |
public static final String APPSECRET = "xd666"; | |
/** | |
* 生成jwt | |
* @param user | |
* @return | |
*/ | |
public static String geneJsonWebToken(User user){ | |
if(user == null || user.getId() == null || user.getName() == null | |
|| user.getHeadImg()==null){ | |
return null; | |
} | |
String token = Jwts.builder().setSubject(SUBJECT) | |
.claim("id",user.getId()) | |
.claim("name",user.getName()) | |
.claim("img",user.getHeadImg()) | |
.setIssuedAt(new Date()) | |
.setExpiration(new Date(System.currentTimeMillis()+EXPIRE)) | |
.signWith(SignatureAlgorithm.HS256,APPSECRET).compact(); | |
return token; | |
} | |
/** | |
* 校验token | |
* @param token | |
* @return | |
*/ | |
public static Claims checkJWT(String token ){ | |
try{ | |
final Claims claims = Jwts.parser().setSigningKey(APPSECRET). | |
parseClaimsJws(token).getBody(); | |
return claims; | |
}catch (Exception e){ } | |
return null; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment