怎么使用jwt,token以及redis进行续期?
-
什么是jwt?
-
什么是token?
-
结合 JWT、Token 和 Redis 进行续期的一般步骤:
-
生成 JWT: 用户登录成功后,服务器生成一个 JWT,并返回给客户端。
import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; public class JwtUtil { private static final String SECRET_KEY = "yourSecretKey"; public static String generateToken(String subject) { return Jwts.builder() .setSubject(subject) .signWith(SignatureAlgorithm.HS256, SECRET_KEY) .compact(); } }
-
将 JWT 存储到 Redis: 服务器将生成的 JWT 存储到 Redis 中,以便后续验证和续期。
import redis.clients.jedis.Jedis; public class RedisUtil { private static final String REDIS_HOST = "localhost"; private static final int REDIS_PORT = 6379; public static void storeTokenInRedis(String key, String token) { try (Jedis jedis = new Jedis(REDIS_HOST, REDIS_PORT)) { jedis.set(key, token); } } }
-
客户端保存 JWT: 客户端收到 JWT 后,将其保存在本地,通常可以存储在 Local Storage 或者 Session Storage 中。
- LocalStorage 或 SessionStorage: 在 Web 应用中,可以将 JWT 存储在浏览器的 LocalStorage 或 SessionStorage 中。这些存储方式都是客户端本地的存储机制,可以通过 JavaScript API 进行读写操作。LocalStorage 的数据会一直保存,除非用户手动清除,而 SessionStorage 的数据则只在当前会话期间有效。
// 将 JWT 存储到 LocalStorage localStorage.setItem('jwtToken', token); // 从 LocalStorage 获取 JWT const token =
-