类 SaJwtTemplate

java.lang.Object
cn.dev33.satoken.jwt.SaJwtTemplate

public class SaJwtTemplate extends Object
jwt 操作模板方法封装
从以下版本开始:
1.31.0
作者:
click33
  • 字段详细资料

    • LOGIN_TYPE

      public static final String LOGIN_TYPE
      key:账号类型
      另请参阅:
    • LOGIN_ID

      public static final String LOGIN_ID
      key:账号id
      另请参阅:
    • DEVICE_TYPE

      public static final String DEVICE_TYPE
      key:登录设备类型
      另请参阅:
    • EFF

      public static final String EFF
      key:有效截止期 (时间戳)
      另请参阅:
    • RN_STR

      public static final String RN_STR
      key:乱数 ( 混入随机字符串,防止每次生成的 token 都是一样的 )
      另请参阅:
    • NEVER_EXPIRE

      public static final long NEVER_EXPIRE
      当有效期被设为此值时,代表永不过期
      另请参阅:
    • NOT_VALUE_EXPIRE

      public static final long NOT_VALUE_EXPIRE
      表示一个值不存在
      另请参阅:
  • 构造器详细资料

    • SaJwtTemplate

      public SaJwtTemplate()
  • 方法详细资料

    • createToken

      public String createToken(String loginType, Object loginId, Map<String,Object> extraData, String keyt)
      创建 jwt (简单方式)
      参数:
      loginType - 登录类型
      loginId - 账号id
      extraData - 扩展数据
      keyt - 秘钥
      返回:
      jwt-token
    • createToken

      public String createToken(String loginType, Object loginId, String deviceType, long timeout, Map<String,Object> extraData, String keyt)
      创建 jwt (全参数方式)
      参数:
      loginType - 账号类型
      loginId - 账号id
      deviceType - 设备类型
      timeout - token有效期 (单位 秒)
      extraData - 扩展数据
      keyt - 秘钥
      返回:
      jwt-token
    • generateToken

      public String generateToken(cn.hutool.jwt.JWT jwt, String keyt)
      为 JWT 对象和 keyt 秘钥,生成 token 字符串
      参数:
      jwt - JWT构建对象
      keyt - 秘钥
      返回:
      根据 JWT 对象和 keyt 秘钥,生成的 token 字符串
    • createSigner

      public cn.hutool.jwt.signers.JWTSigner createSigner(String keyt)
      返回 jwt 使用的签名算法
      参数:
      keyt - 秘钥
      返回:
      /
    • parseToken

      public cn.hutool.jwt.JWT parseToken(String token, String loginType, String keyt, boolean isCheckTimeout)
      jwt 解析
      参数:
      token - Jwt-Token值
      loginType - 登录类型
      keyt - 秘钥
      isCheckTimeout - 是否校验 timeout 字段
      返回:
      解析后的jwt 对象
    • getPayloads

      public cn.hutool.json.JSONObject getPayloads(String token, String loginType, String keyt)
      获取 jwt 数据载荷 (校验 sign、loginType、timeout)
      参数:
      token - token值
      loginType - 登录类型
      keyt - 秘钥
      返回:
      载荷
    • getPayloadsNotCheck

      public cn.hutool.json.JSONObject getPayloadsNotCheck(String token, String loginType, String keyt)
      获取 jwt 数据载荷 (校验 sign、loginType,不校验 timeout)
      参数:
      token - token值
      loginType - 登录类型
      keyt - 秘钥
      返回:
      载荷
    • getLoginId

      public Object getLoginId(String token, String loginType, String keyt)
      获取 jwt 代表的账号id
      参数:
      token - Token值
      loginType - 登录类型
      keyt - 秘钥
      返回:
    • getLoginIdOrNull

      public Object getLoginIdOrNull(String token, String loginType, String keyt)
      获取 jwt 代表的账号id (未登录时返回null)
      参数:
      token - Token值
      loginType - 登录类型
      keyt - 秘钥
      返回:
    • getTimeout

      public long getTimeout(String token, String loginType, String keyt)
      获取 jwt 剩余有效期
      参数:
      token - JwtToken值
      loginType - 登录类型
      keyt - 秘钥
      返回:
    • createToken

      public String createToken(Map<String,Object> map, String keyt)
      创建 jwt (Map 参数方式)
      参数:
      map - 扩展数据
      keyt - 秘钥
      返回:
      jwt-token