Interface UserDetailService

All Known Implementing Classes:
InMemoryUserDetailService

public interface UserDetailService
用户详情服务接口,负责用户信息的存储、查询和Token管理

约定:当使用 refreshToken 调用 userByToken(String) 方法时, 实现类必须返回包含新生成的 access token 和 refresh token 的用户对象。 这确保了 Token 刷新逻辑在用户详情服务层完成,符合单一职责原则。

Author:
Kerbores(kerbores@riemann.tech)
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    save(@Nullable AuthUser user)
    保存用户信息
    userByToken(@Nullable String token)
    根据 Token 获取用户信息
  • Method Details

    • userByToken

      AuthUser userByToken(@Nullable String token)
      根据 Token 获取用户信息

      重要约定:当传入的 token 是 refreshToken 时, 实现类需要验证 refreshToken 的有效性,然后生成新的 access token 和 refresh token, 更新用户对象并返回。这样 Token 刷新的业务逻辑就由 UserDetailService 负责处理。

      Parameters:
      token - 可以是 access token 或 refresh token
      Returns:
      用户信息对象。如果传入的是 refreshToken,返回的用户对象必须包含新生成的 token; 如果 token 无效或用户不存在,返回匿名用户 AuthUser.anonymous()
    • save

      void save(@Nullable AuthUser user)
      保存用户信息
      Parameters:
      user - 用户信息,为 null 时不执行任何操作