Keycloak-AuthenticationFlowException:在clientSession中找不到序列化上下文

时间:2019-07-10 10:46:32

标签: keycloak

尝试使用Keycloak从外部IDP登录时遇到此异常。

Failed authentication: org.keycloak.authentication.AuthenticationFlowException: Not found serialized context in clientSession
    at org.keycloak.authentication.authenticators.broker.AbstractIdpAuthenticator.authenticate(AbstractIdpAuthenticator.java:66)
    at org.keycloak.authentication.DefaultAuthenticationFlow.processFlow(DefaultAuthenticationFlow.java:200)
    at org.keycloak.authentication.AuthenticationProcessor.authenticateOnly(AuthenticationProcessor.java:853)
    at org.keycloak.authentication.AuthenticationProcessor.authenticate(AuthenticationProcessor.java:722)
    at org.keycloak.services.resources.LoginActionsService.processFlow(LoginActionsService.java:286)
    at org.keycloak.services.resources.LoginActionsService.brokerLoginFlow(LoginActionsService.java:753)
    at org.keycloak.services.resources.LoginActionsService.postBrokerLoginGet(LoginActionsService.java:687)
    at sun.reflect.GeneratedMethodAccessor866.invoke(Unknown Source)

发生错误时,将显示以下页面。

enter image description here

我肯定知道用户凭据是正确的。我还检查了IDP的令牌映射器,一切似乎都正确。

那么这里可能是什么问题?

2 个答案:

答案 0 :(得分:0)

我终于想通了。我在“身份提供程序”设置中将帖子登录流程设置为first broker login。对于我的身份提供者,应将其留空。

答案 1 :(得分:0)

转到Realm Settings-> Login(tab) 尝试关闭Email as username参数。 它将解决您的问题-然后您需要在身份提供者配置的Mappers标签中创建适当的映射器。新的映射器将电子邮件作为用户名正确传递后,您可以打开Email as username

enter image description here