问题描述
如何通过Keycloak的手机号码/ OTP(通过SMS发送)绕过用户名/密码身份验证
解决方法
您必须实现自定义身份验证流程(请参阅管理控制台->身份验证->流程)。您的流程应包括两个分支:一个分支用于登录/密码,第二个分支用于SMS / OTP。对于每个子流,您都应实现具有 Conditional 要求的专用Authenticator SPI。在客户端,您的应用程序应提供一些数据(例如,其他http参数),供条件式身份验证器用来决定通过身份验证流进行路由的决定。
Detailed guideline for authentication flow development
Authenticator development docs
P.S。我不熟悉最新的keycloak版本,也许已经有一些工具可以实现您的目标。