Class InMemoryUserDetailService

java.lang.Object
tech.riemann.nif.auth.service.impl.InMemoryUserDetailService
All Implemented Interfaces:
UserDetailService

public class InMemoryUserDetailService extends Object implements UserDetailService
基于内存存储的UserDetailService,请勿在生产环境使用,特别是多节点部署的时候

注意:根据 UserDetailService 接口约定, 当使用 refreshToken 调用 userByToken(String) 方法时, 实现类必须返回包含新生成的 access token 和 refresh token 的用户对象。 本实现为演示用途,生产环境中应使用支持 Token 刷新逻辑的实现。

  • Constructor Details

    • InMemoryUserDetailService

      public InMemoryUserDetailService()
  • Method Details

    • save

      public void save(@Nullable AuthUser user)
      Description copied from interface: UserDetailService
      保存用户信息
      Specified by:
      save in interface UserDetailService
      Parameters:
      user - 用户信息,为 null 时不执行任何操作
    • userByToken

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

      实现说明:本实现为演示用途,不执行 Token 刷新逻辑。 生产环境实现应在检测到传入 refreshToken 时,生成新的 access token 和 refresh token, 更新用户对象后返回。

      Specified by:
      userByToken in interface UserDetailService
      Parameters:
      token - 可以是 access token 或 refresh token
      Returns:
      用户信息对象,如果 token 无效或用户不存在返回匿名用户
      See Also: