All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.allways.utils.TokenUtils Maven / Gradle / Ivy

There is a newer version: 1.0.4.RELEASE
Show newest version
package com.allways.utils;

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

/**
 * @author lr
 *
 * token相关工具类
 */
public class TokenUtils {

    private final static String SECRET = "allways-token-2019-4-17";
    private final static String APP_ID = "appId";
    private final static String AN_JI = "anji";
    private final static String SUBJECT = "schedule";

    /**
     * 生成token
     * @param appId 应用ID
     * @return 加密token
     */
    public static String generateToken(String appId){
        return Jwts.builder()
                .signWith(SignatureAlgorithm.HS256,SECRET)
                .claim(APP_ID,appId)
                .setIssuer(AN_JI)
                .setSubject(SUBJECT).compact();
    }

    /**
     * 获取应用appId
     * @param token 加密token
     * @return 加密
     */
    public static String getAppId(String token) {
        Claims claims = getClaims(token);

        return claims.get(APP_ID, String.class);

    }

    /**
     * 获取Claims
     * @param token 加密token
     * @return 加密
     */
    public static Claims getClaims(String token) {
        return Jwts.parser().requireSubject(SUBJECT).requireIssuer(AN_JI)
                .setSigningKey(SECRET)
                .parseClaimsJws(token).getBody();
    }

    public static void main(String[] args) {
        String app_anji = generateToken("app_anji");
        System.out.println(app_anji);

        String appId = getAppId(app_anji);
        System.out.println(appId);

        System.out.println(getClaims(app_anji));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy