用户名密码认证管理器
用户名密码认证管理器扩展点用于替换 Halo 默认的用户名密码认证管理器实现,例如:使用第三方的身份验证服务,一个例子是 LDAP。
public interface UsernamePasswordAuthenticationManager extends ExtensionPoint {
Mono<Authentication> authenticate(Authentication authentication);
}
UsernamePasswordAuthenticationManager 对应的 ExtensionPointDefinition 如下:
apiVersion: plugin.halo.run/v1alpha1
kind: ExtensionPointDefinition
metadata:
name: username-password-authentication-manager
spec:
className: run.halo.app.security.authentication.login.UsernamePasswordAuthenticationManager
displayName: Username password authentication manager
type: SINGLETON
description: "Provides a way to extend the username password authentication."
即声明 ExtensionDefinition 自定义模型对象时对应的 extensionPointName 为 username-password-authentication-manager。
可以参考的实现示例 TOTP 认证