KaTool
Home
Redis工具包
Excel工具包
图片与Base64转换工具包
  • IP地址工具包(Nginx反向代理解决)
  • 身份证校验工具包
  • 验证码工具包
  • AuthUtil
  • KaTool-Security鉴权框架
  • 七牛云SDK(V1.9.5.BETA及其之前)
  • 综合SDK(V1.9.5.GAMA及其之后)
  • Kimi
定时任务调度
类加载和Bean管理
  • KaTool
  • KaToolTest
  • 在github上修改本页面
  • Karos'Blog
Home
Redis工具包
Excel工具包
图片与Base64转换工具包
  • IP地址工具包(Nginx反向代理解决)
  • 身份证校验工具包
  • 验证码工具包
  • AuthUtil
  • KaTool-Security鉴权框架
  • 七牛云SDK(V1.9.5.BETA及其之前)
  • 综合SDK(V1.9.5.GAMA及其之后)
  • Kimi
定时任务调度
类加载和Bean管理
  • KaTool
  • KaToolTest
  • 在github上修改本页面
  • Karos'Blog
  • AuthUtil 使用文档

AuthUtil 使用文档

介绍

AuthUtil 是一个用于生成和验证 JWT(JSON Web Token)的工具类,旨在提供简单而安全的身份验证和授权机制。该工具类使用了常见的 logback 日志库和 lombok 注解库,以简化代码的编写。

使用方法

1. 引入 AuthUtil 工具类

确保你的项目中已经引入了 AuthUtil 类。你可以将其添加到你的项目中,并在需要进行身份验证和生成 Token 的地方调用相应的方法。

import cn.katool.config.auth.AuthUtil;

2. 配置AuthConfig

在你的项目中,确保 AuthConfig 类被正确配置,并且 AuthUtil 的初始化方法被调用。一般情况下,我们采用yaml进行配置

katool:
    auth:
        salt-key: "katooltest"   # JWT加密盐值
        exp-time: { 7*24*60*60*1000 }   # JWT过期时间
        token-header: "Authorization"   # 请求头中存放token的Header

3. 获取 Token

调用 createToken 方法生成 Token。该方法需要传入用户信息对象和用户信息对象的类,然后会返回生成的 JWT Token。

import cn.katool.config.auth.AuthUtil;

// Your user object
YourUserObject user = new YourUserObject();

// Generate Token
String token = AuthUtil.createToken(user, YourUserObject.class);

4. 验证 Token

调用 verifyToken 方法验证 Token 是否有效。该方法会返回一个布尔值,表示 Token 是否有效。

import cn.katool.config.auth.AuthUtil;

// Your Token
String token = "your_jwt_token_here";

// Verify Token
boolean isValid = AuthUtil.verifyToken(token);

if (isValid) {
    // Token is valid, proceed with your logic
} else {
    // Token is invalid, handle accordingly
}

5. 获取用户信息

调用 getUserFromToken 方法解析 Token 并返回用户信息对象。该方法需要传入 Token 和用户信息对象的类。

import cn.katool.config.auth.AuthUtil;

// Your Token
String token = "your_jwt_token_here";

// Get User from Token
YourUserObject user = (YourUserObject) AuthUtil.getUserFromToken(token, YourUserObject.class);

if (user != null) {
    // User object retrieved successfully, proceed with your logic
} else {
    // Unable to retrieve user object, handle accordingly
}

配置

确保 AuthConfig 类中的配置项已经正确设置,包括 expTime(Token 过期时间)、saltKey(盐值)、tokenHeader(Token 在 HTTP 头中的字段名)。

注意事项

  • 在使用该工具类之前,确保已经正确初始化 AuthConfig,以便设置过期时间、盐值等参数。
  • 请妥善保存生成的 Token,并在每次请求中附带 Token 进行身份验证。

示例

import cn.katool.config.auth.AuthUtil;
import lombok.Data;

@Data
public class YourUserObject {
    private String username;
    private String email;
    // Other user-related fields
}

// Your application logic
YourUserObject user = new YourUserObject();
user.setUsername("john_doe");
user.setEmail("john.doe@example.com");

// Generate Token
String token = AuthUtil.createToken(user, YourUserObject.class);

// Verify Token
boolean isValid = AuthUtil.verifyToken(token);

// Get User from Token
YourUserObject retrievedUser = (YourUserObject) AuthUtil.getUserFromToken(token, YourUserObject.class);

以上示例是一个简单的使用场景,演示了如何生成 Token、验证 Token 和获取用户信息。希望这个文档对你有帮助。如果有任何问题,请随时提问。

Last Updated:
Contributors: ZonglinWu