Class DefaultAuthService

java.lang.Object
tech.riemann.nif.auth.service.HttpServletAuthService
tech.riemann.nif.auth.service.impl.DefaultAuthService
All Implemented Interfaces:
AuthService

public class DefaultAuthService extends HttpServletAuthService
默认认证服务实现

继承自HttpServletAuthService,提供基于Spring Web上下文的默认实现

主要特点: 1. 通过RequestContextHolder获取HttpServletRequest和HttpServletResponse 2. 使用构造器注入所需的依赖(JWTEncoder、JWTDecoder、UserDetailService) 3. 适用于标准的Spring Boot Web应用

使用示例:

@Bean
public AuthService authService(JWTEncoder encoder, JWTDecoder decoder, UserDetailService userDetailService,
        AuthAutoConfigurationProperties config) {
    return new DefaultAuthService(encoder, decoder, userDetailService, config.isAllowQueryToken());
}
Author:
Kerbores(kerbores@riemann.tech)
  • Constructor Details

    • DefaultAuthService

      public DefaultAuthService()
  • Method Details

    • allowQueryToken

      protected boolean allowQueryToken()
      是否允许从 URL 查询参数中获取 Token(H10)
      Overrides:
      allowQueryToken in class HttpServletAuthService
      Returns:
      由配置 nif.auth.allow-query-token 决定,默认 false(禁止)
    • getRequest

      public jakarta.servlet.http.HttpServletRequest getRequest()
      获取HttpServletRequest对象

      通过Spring的RequestContextHolder获取当前请求上下文

      Specified by:
      getRequest in class HttpServletAuthService
      Returns:
      HttpServletRequest实例
    • getResponse

      public jakarta.servlet.http.HttpServletResponse getResponse()
      获取HttpServletResponse对象

      通过Spring的RequestContextHolder获取当前响应上下文

      Specified by:
      getResponse in class HttpServletAuthService
      Returns:
      HttpServletResponse实例
    • userDetailService

      public UserDetailService userDetailService()
      获取用户详情服务
      Specified by:
      userDetailService in class HttpServletAuthService
      Returns:
      UserDetailService实例
    • jwtEncoder

      public JWTEncoder jwtEncoder()
      获取JWT编码器
      Specified by:
      jwtEncoder in class HttpServletAuthService
      Returns:
      JWTEncoder实例
    • jwtDecoder

      public JWTDecoder jwtDecoder()
      获取JWT解码器
      Specified by:
      jwtDecoder in class HttpServletAuthService
      Returns:
      JWTDecoder实例