设置Keycloak进行身份验证

时间:2020-01-08 10:45:29

标签: keycloak

我正在评估KeyCloak作为OpenID提供程序,并且对如何设置它感到困惑。我只是想让最简单的设置生效。

到目前为止,我已经做到了:

  1. 创建了一个领域。

  2. 将我的Web应用程序注册为新客户端。客户端协议“ open-id”和访问类型“机密”

  3. 创建了一个用户,并为其设置了密码。

然后,我访问我的Web应用程序,它将重定向到KeyCloak登录页面,但是我不断收到“无效的用户名或密码”。

我认为我可能已经错过了一些有关客户角色的步骤。我的登录失败与此有关吗?文档很差,我只想启动并运行基本设置。

这是我得到的(部分)堆栈跟踪。

10:13:56,201 WARN  [org.keycloak.services] (default task-3) KC-SERVICES0013: Failed authentication: org.keycloak.authentication.AuthenticationFlowException
        at org.keycloak.keycloak-services@8.0.1//org.keycloak.authentication.AuthenticationProcessor.authenticationAction(AuthenticationProcessor.java:964)
        at org.keycloak.keycloak-services@8.0.1//org.keycloak.services.resources.LoginActionsService.processFlow(LoginActionsService.java:294)
        at org.keycloak.keycloak-services@8.0.1//org.keycloak.services.resources.LoginActionsService.processAuthentication(LoginActionsService.java:265)
        at org.keycloak.keycloak-services@8.0.1//org.keycloak.services.resources.LoginActionsService.authenticate(LoginActionsService.java:261)
        at org.keycloak.keycloak-services@8.0.1//org.keycloak.services.resources.LoginActionsService.authenticateForm(LoginActionsService.java:322)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)

1 个答案:

答案 0 :(得分:1)

也许您可以尝试以下方法,看看是否有帮助:

  • 请确保您已在配置受测客户端的同一域中创建用户。
  • 检查您的新创建用户是否检查了以下标志:“电子邮件已验证”,并且密码不是“一次性密码”。 (毕竟,这是您的测试用户,出于测试目的应该可以)

P.S。无论如何评估,该文件都不算差。