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

club.zhcs.lina.auth.jwt.JWTGenerator Maven / Gradle / Ivy

The newest version!
package club.zhcs.lina.auth.jwt;

import java.util.Map;
import java.util.concurrent.TimeUnit;

import com.auth0.jwt.interfaces.Claim;

/**
 * 
 * @author Kerbores([email protected])
 *
 */
public interface JWTGenerator {
    /**
     * 生成token
     * 
     * @param subject
     *            主题
     * @param claims
     *            附加信息
     * @return token
     */
    public String token(String subject, Map claims);

    /**
     * 生成token
     * 
     * @param subject
     *            主题
     * @param claims
     *            附加信息
     * @param term
     *            有效期
     * @param unit
     *            有效期单位
     * @return
     */
    public String token(String subject, Map claims, long term, TimeUnit unit);

    /**
     * 生成token
     * 
     * @param subject
     *            主题
     * @return token
     */
    public String token(String subject);

    /**
     * 生成刷新令牌
     * 
     * @param subject
     *            主题
     * @return refresh token
     */
    public String refreshToken(String subject);

    /**
     * 生成token
     * 
     * @param subject
     *            主题
     * @param claims
     *            附加信息
     * @param jti
     *            jti claim
     * @param kid
     *            kid claim
     * @return token
     */
    public String token(String subject, Map claims, String jti, String kid);

    /**
     * 验证token
     * 
     * @param token
     *            token
     * @return 是否同验证
     */
    public boolean verify(String token);

    /**
     * 获取主题
     * 
     * @param token
     *            token
     * @return 主题
     */
    public String subject(String token);

    /**
     * 验证并获取主题
     * 
     * @param token
     *            token
     * @return 主题
     */
    public String verifiedSubject(String token);

    /**
     * 获取附加信息
     * 
     * @param token
     *            token
     * @param name
     *            claim name
     * @return claim
     */
    public Claim claim(String token, String name);

    public Map claims(String token);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy