TokenManager.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.zsElectric.boot.security.token;
  2. import com.zsElectric.boot.security.model.AuthenticationToken;
  3. import org.springframework.security.core.Authentication;
  4. /**
  5. * Token 管理器
  6. * <p>
  7. * 用于生成、解析、校验、刷新 Token
  8. *
  9. * @author Ray.Hao
  10. * @since 2.16.0
  11. */
  12. public interface TokenManager {
  13. /**
  14. * 生成认证 Token
  15. *
  16. * @param authentication 用户认证信息
  17. * @return 认证 Token 响应
  18. */
  19. AuthenticationToken generateToken(Authentication authentication);
  20. /**
  21. * 解析 Token 获取认证信息
  22. *
  23. * @param token Token
  24. * @return 用户认证信息
  25. */
  26. Authentication parseToken(String token);
  27. /**
  28. * 校验 Token 是否有效
  29. *
  30. * @param token JWT Token
  31. * @return 是否有效
  32. */
  33. boolean validateToken(String token);
  34. /**
  35. * 校验 刷新 Token 是否有效
  36. *
  37. * @param refreshToken JWT Token
  38. * @return 是否有效
  39. */
  40. boolean validateRefreshToken(String refreshToken);
  41. /**
  42. * 刷新 Token
  43. *
  44. * @param token 刷新令牌
  45. * @return 认证 Token 响应
  46. */
  47. AuthenticationToken refreshToken(String token);
  48. /**
  49. * 令 Token 失效
  50. *
  51. * @param token Token
  52. */
  53. default void invalidateToken(String token) {
  54. // 默认实现可以是空的,或者抛出不支持的操作异常
  55. // throw new UnsupportedOperationException("Not implemented");
  56. }
  57. }