类 JwtTokenUtil

java.lang.Object
net.sohelp.boot.admin.core.utils.JwtTokenUtil

@Component public class JwtTokenUtil extends Object
JWT Token 工具类,提供 Token 的生成、验证、解析以及用户信息获取等功能。
从以下版本开始:
2023/12/27 9:57
作者:
AaronFung
  • 构造器详细资料

    • JwtTokenUtil

      public JwtTokenUtil()
  • 方法详细资料

    • validateToken

      @Comment("\u9a8c\u8bc1token") public static Map<String,Object> validateToken(jakarta.servlet.http.HttpServletRequest obj) throws TokenAuthenticationException
      验证 HTTP 请求中的 Token 是否有效,并返回附加信息。
      参数:
      obj - HTTP 请求对象
      返回:
      包含用户额外信息的 Map 对象
      抛出:
      TokenAuthenticationException - 当 Token 无效或未登录时抛出异常
    • validateToken

      @Comment("\u9a8c\u8bc1token") public static Map<String,Object> validateToken(Map<String,Object> map) throws TokenAuthenticationException
      验证传入的 Map 中携带的 Token 是否有效,并返回附加信息。
      参数:
      map - 携带 Token 信息的 Map
      返回:
      包含用户额外信息的 Map 对象
      抛出:
      TokenAuthenticationException - 当 Token 无效或未登录时抛出异常
    • validateToken

      @Comment("\u9a8c\u8bc1token") public static Map<String,Object> validateToken() throws TokenAuthenticationException
      验证当前上下文中的 Token 是否有效,并返回附加信息。
      返回:
      包含用户额外信息的 Map 对象
      抛出:
      TokenAuthenticationException - 当 Token 无效或未登录时抛出异常
    • updateToken

      @Comment("\u66f4\u65b0token") public static void updateToken(String tokenValue)
      更新当前会话的 Token 值。
      参数:
      tokenValue - 新的 Token 字符串
    • isLogin

      @Comment("\u5224\u65adToken\u662f\u5426\u767b\u5f55") public static boolean isLogin()
      判断当前 Token 是否已登录。
      返回:
      true 表示已登录,false 表示未登录
    • getLoginID

      @Comment("\u83b7\u53d6\u767b\u5f55ID") public static long getLoginID()
      获取当前登录用户的 ID。
      返回:
      登录用户的唯一标识(long 类型)
    • getExtra

      @Comment("\u83b7\u53d6\u7528\u6237\u4fe1\u606f") public static Map<String,Object> getExtra() throws TokenAuthenticationException
      获取当前登录用户的附加信息。
      返回:
      用户附加信息组成的 Map
      抛出:
      TokenAuthenticationException - 当用户未登录或获取失败时抛出异常
    • getExtra

      @Comment("\u83b7\u53d6\u7528\u6237\u4fe1\u606f") public static Object getExtra(@Comment("\u7528\u6237\u4fe1\u606f") String name) throws TokenAuthenticationException
      根据字段名获取当前登录用户的指定附加信息。
      参数:
      name - 要获取的信息字段名称
      返回:
      指定字段对应的值
      抛出:
      TokenAuthenticationException - 当用户未登录、用户不存在或获取失败时抛出异常
    • buildToken

      @Comment("\u751f\u6210token") public static String buildToken(@Comment("\u7528\u6237\u4fe1\u606f") Map<String,Object> tokenMap)
      使用用户信息构建并返回一个新的 Token。
      参数:
      tokenMap - 包含用户信息的 Map,必须包含 "id" 键
      返回:
      生成的新 Token 字符串
    • buildToken

      @Comment("\u751f\u6210token") public static String buildToken(@Comment("\u7528\u6237ID") long userId)
      使用用户 ID 构建并返回一个新的 Token。
      参数:
      userId - 用户唯一标识
      返回:
      生成的新 Token 字符串
    • buildToken

      public static String buildToken(@Comment("\u7528\u6237ID") long userId, long expireTime)