Token
之前的博客已经介绍了各种登录的方式,现在直接介绍一种现在比较流行的登录方式,无状态登录,只需要客户端携带令牌就能登陆,服务器不再存储登录状态。突然粉丝量爆棚,开心死了,所以抓紧写一篇硬核代码,分享给大家,拿来即用的代码,直接copy即可。
使用之前需要配置一下xml
com.auth0
java-jwt
3.4.0
下面为Java代码
package com.caeser.midrug.util;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang3.time.DateUtils;
import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTCreator;
import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.interfaces.Claim;
import com.auth0.jwt.interfaces.DecodedJWT;
import com.google.common.collect.Maps;
public class JwtHelper {
private static final String SECRET = "secret";
private static final String ISSURE= "caeser";
public static String getToken(Map claims) {
Algorithm algorithm = Algorithm.HMAC256(SECRET);
JWTCreator.Builder builder= JWT.create().withIssuer(ISSURE).withExpiresAt(DateUtils.addMinutes(new Date(), 3));
claims.forEach((k,v) ->builder.withClaim(k, v));
return builder.sign(algorithm).toString();
}
public static String getTokenByMinute(Map claims,int minute) {
Algorithm algorithm = Algorithm.HMAC256(SECRET);
JWTCreator.Bu