- 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 Summary
Modifier and TypeMethodDescription获取协议特定配置。default StringgetName()获取 Source 的字符串名称。org.miaixz.bus.core.net.Protocol获取协议类型。Class<? extends AbstractProvider> 获取对应的提供者实现类。
-
Method Details
-
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
获取 Source 的字符串名称。 通常为枚举名称,用于标识认证来源(如 TWITTER、SAML_EXAMPLE)。 若非枚举实现,则返回类简单名称。- Returns:
- 来源名称
-