java.lang.Object
org.miaixz.bus.starter.auth.AuthService
授权服务提供类,用于管理和创建各种第三方登录/授权服务提供者实例。 该类维护了一个授权组件的缓存,支持通过配置或手动注册方式添加授权组件。 该类支持多种第三方平台,包括但不限于:
- 国内平台:微信、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
FieldsModifier and TypeFieldDescriptionorg.miaixz.bus.cache.CacheX缓存接口,用于存储授权过程中的临时数据。授权配置属性,包含各种授权组件的配置信息。 -
Constructor Summary
ConstructorsConstructorDescriptionAuthService(AuthProperties properties) 使用默认缓存创建授权服务提供者实例。AuthService(AuthProperties properties, org.miaixz.bus.cache.CacheX cache) 使用指定缓存创建授权服务提供者实例。 -
Method Summary
-
Field Details
-
properties
授权配置属性,包含各种授权组件的配置信息。 -
cache
public org.miaixz.bus.cache.CacheX cache缓存接口,用于存储授权过程中的临时数据。
-
-
Constructor Details
-
AuthService
使用默认缓存创建授权服务提供者实例。- Parameters:
properties- 授权配置属性,不能为null
-
AuthService
使用指定缓存创建授权服务提供者实例。- Parameters:
properties- 授权配置属性,不能为nullcache- 缓存实现,不能为null
-
-
Method Details
-
register
public static void register(org.miaixz.bus.auth.Registry type, org.miaixz.bus.auth.Context context) 注册授权组件到缓存中。 如果已存在相同类型的组件,则抛出异常。- Parameters:
type- 授权组件类型,不能为nullcontext- 授权组件上下文,不能为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- 如果找不到对应的授权组件
-