向领域设置添加更多属性

Shr*_*oji 5 keycloak keycloak-services

我们已经实现了一个自定义身份验证器,用于支持通过 SMS OTP 重置密码的工作流。验证器使用存储在用户属性中的电话号码。

我们希望将 SMS 提供商的凭据存储在 Realm Settings 中,因此我们正在寻找一种方法将一些额外的配置属性添加到 Realm Settings,在一个单独的标签中,如 Login、Theme 等。如果身份验证是理想的提供者可以“声明”这些配置属性。如果没有,还有其他方法可以扩展 Realm Settings 吗?

Jer*_*via 0

以下是如何将可配置属性添加到身份验证器的示例。将身份验证器添加到流程后,您将能够为身份验证器的特定实例设置配置。如果您将身份验证器添加到另一个流程,它将具有另一组特定于该其他流程中的实例的配置。

public class MyFactory implements AuthenticatorFactory {
    @Override
    public boolean isConfigurable() {
        return true;
    }

    private static final List<ProviderConfigProperty> configProperties = new ArrayList<>();

    static {
        ProviderConfigProperty someCheck = new ProviderConfigProperty(
                "some.check.property.name",
                "Some Check",
                "This does some check. You'll see this in the UI.",
                ProviderConfigProperty.BOOLEAN_TYPE,
                true);
        configProperties.add(someCheck);

    }


    @Override
    public List<ProviderConfigProperty> getConfigProperties() {
        return configProperties;
    }

}
Run Code Online (Sandbox Code Playgroud)