Module bus.starter

Class AuthService

java.lang.Object
org.miaixz.bus.starter.auth.AuthService

public class AuthService extends Object
授权服务提供类,用于管理和创建各种第三方登录/授权服务提供者实例。 该类维护了一个授权组件的缓存,支持通过配置或手动注册方式添加授权组件。 该类支持多种第三方平台,包括但不限于:
  • 国内平台:微信、QQ、微博、支付宝、淘宝、百度、华为等
  • 国外平台:GitHub、Google、Facebook、Twitter、Microsoft等
  • 企业平台:钉钉、飞书、企业微信等

使用示例:

 
 // 创建配置
 AuthProperties properties = new AuthProperties();
 // 创建服务
 AuthService service = new AuthService(properties);
 // 获取GitHub授权提供者
 Provider provider = service.require(Registry.GITHUB);
 
Since:
Java 17+
Author:
Kimi Liu
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    org.miaixz.bus.cache.CacheX
    缓存接口,用于存储授权过程中的临时数据。
    授权配置属性,包含各种授权组件的配置信息。
  • Constructor Summary

    Constructors
    Constructor
    Description
    使用默认缓存创建授权服务提供者实例。
    AuthService(AuthProperties properties, org.miaixz.bus.cache.CacheX cache)
    使用指定缓存创建授权服务提供者实例。
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    register(org.miaixz.bus.auth.Registry type, org.miaixz.bus.auth.Context context)
    注册授权组件到缓存中。
    org.miaixz.bus.auth.Provider
    require(org.miaixz.bus.auth.Registry type)
    根据授权组件类型获取对应的授权服务提供者实例。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • properties

      public AuthProperties properties
      授权配置属性,包含各种授权组件的配置信息。
    • cache

      public org.miaixz.bus.cache.CacheX cache
      缓存接口,用于存储授权过程中的临时数据。
  • Constructor Details

    • AuthService

      public AuthService(AuthProperties properties)
      使用默认缓存创建授权服务提供者实例。
      Parameters:
      properties - 授权配置属性,不能为null
    • AuthService

      public AuthService(AuthProperties properties, org.miaixz.bus.cache.CacheX cache)
      使用指定缓存创建授权服务提供者实例。
      Parameters:
      properties - 授权配置属性,不能为null
      cache - 缓存实现,不能为null
  • Method Details

    • register

      public static void register(org.miaixz.bus.auth.Registry type, org.miaixz.bus.auth.Context context)
      注册授权组件到缓存中。 如果已存在相同类型的组件,则抛出异常。
      Parameters:
      type - 授权组件类型,不能为null
      context - 授权组件上下文,不能为null
      Throws:
      org.miaixz.bus.core.lang.exception.InternalException - 如果已存在相同类型的组件
    • require

      public org.miaixz.bus.auth.Provider require(org.miaixz.bus.auth.Registry type)
      根据授权组件类型获取对应的授权服务提供者实例。 首先从缓存中查找,如果不存在则从配置中获取。
      Parameters:
      type - 授权组件类型,不能为null
      Returns:
      对应的授权服务提供者实例
      Throws:
      org.miaixz.bus.core.lang.exception.InternalException - 如果找不到对应的授权组件