Module bus.auth

Interface Complex

All Known Implementing Classes:
Registry

public interface Complex
OAuth 及其他协议平台的 API 配置接口。 为 OAuth2、SAML、LDAP 等协议提供特定配置和提供者类,实现统一认证框架。 实现类需提供以下功能:
 1) getConfig(): 返回协议特定的配置(如 OAuth2 的端点、LDAP 的服务器信息、SAML 的 SSO 端点)。
 2) getProtocol(): 返回协议类型(如 OAUTH2、SAML、LDAP)。
 3) getTargetClass(): 返回对应的提供者实现类。
 
注意事项: - 扩展第三方授权时,需实现此接口并在 Registry 枚举中注册。
Since:
Java 17+
Author:
Kimi Liu
  • Method Details

    • getConfig

      default Map<String,String> getConfig()
      获取协议特定配置。 配置内容根据协议类型定义,例如: - OAuth2:包含 AUTHORIZE、ACCESSTOKEN、USERINFO 等端点 URL。 - SAML:包含 ssoEndpoint、metadataUrl 等。 - LDAP:通常返回空映射,使用 Context 配置。
      Returns:
      配置键值对映射,默认返回空映射
    • getProtocol

      org.miaixz.bus.core.net.Protocol getProtocol()
      获取协议类型。 用于标识认证协议,例如 OAUTH2、SAML、LDAP。
      Returns:
      协议类型
    • getTargetClass

      Class<? extends AbstractProvider> getTargetClass()
      获取对应的提供者实现类。 提供者类必须继承自 AbstractProvider,用于处理协议特定的认证逻辑。
      Returns:
      提供者类
    • getName

      default String getName()
      获取 Source 的字符串名称。 通常为枚举名称,用于标识认证来源(如 TWITTER、SAML_EXAMPLE)。 若非枚举实现,则返回类简单名称。
      Returns:
      来源名称