怎么使用jwt,token以及redis进行续期?

怎么使用jwt,token以及redis进行续期?

  1. 什么是jwt?

  2. 什么是token?

  3. 结合 JWT、Token 和 Redis 进行续期的一般步骤:

    1. 生成 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();
          }
      }
      
    2. 将 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);
              }
          }
      }
      
    3. 客户端保存 JWT: 客户端收到 JWT 后,将其保存在本地,通常可以存储在 Local Storage 或者 Session Storage 中。

      1. LocalStorage 或 SessionStorage: 在 Web 应用中,可以将 JWT 存储在浏览器的 LocalStorage 或 SessionStorage 中。这些存储方式都是客户端本地的存储机制,可以通过 JavaScript API 进行读写操作。LocalStorage 的数据会一直保存,除非用户手动清除,而 SessionStorage 的数据则只在当前会话期间有效。
      // 将 JWT 存储到 LocalStorage
      localStorage.setItem('jwtToken', token);
      
      // 从 LocalStorage 获取 JWT
      const token = 

你可能感兴趣的:(java)