我正在使用带有外部 IdP 的 SAML 实施 SSO 选项。如果我在单击浏览器中的 SSO 按钮后检查收到的 SAML 响应,我可以看到我需要的身份验证数据(例如用户名和电子邮件),因此与 IdP 的通信工作正常。
但是 Keycloak 不执行登录,而是向我显示了一个页面,上面写着:“我们很抱歉......登录超时,请重新登录。”,并且没有注册新用户。我领域中令牌的登录超时设置为 30 分钟。
查看日志我发现以下错误:
keycloak_1 | 00:38:27,888 ERROR [org.keycloak.broker.saml.SAMLEndpoint] (default task-26) Assertion expired.
keycloak_1 | 00:38:27,889 WARN [org.keycloak.events] (default task-26) type=IDENTITY_PROVIDER_RESPONSE_ERROR, realmId=master, clientId=null, userId=null, ipAddress=172.20.0.1, error=invalid_saml_response
我发现这可能是由于 IdP 和 SP 中的 EntityID 不一致,但我联系了我的 IdP 并且 EntityID 是相同的。
可能是什么问题呢?