我正在尝试使用联合身份验证来启用Microsoft AD登录。它工作正常,我们可以登录。但是,当我按照文档所述调用 LOGOUT 端点 ( https://docs.aws.amazon.com/cognito/latest/developerguide/logout-endpoint.html ( 并尝试再次登录时,我不会被重定向到Microsoft页面以再次输入我的电子邮件和密码。
似乎我输入的电子邮件和密码都在缓存中,如果我清除缓存,我只能再次看到此登录页面。我们如何才能真正注销用户,当他登录时,他需要再次输入他的电子邮件和密码?
编辑:我按照答案中的建议启用了"唱出 Idp 流",但现在我收到 400 响应,说"必需字符串参数client_id不存在">
有人知道如何解决这个问题吗?
您需要确保在 Cognito 中的 SAML 身份提供商上选择"启用 IdP 注销流程"。将浏览器导航到注销端点后,您也应被重定向到 SAML IDP 注销。
https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managing-saml-idp-console.html
如果您希望用户注销,请选择启用 IdP 注销流程 从 Amazon Cognito 注销时从 SAML IdP 中获取。
启用此流会在以下情况下向 SAML IdP 发送已签名的注销请求
将调用注销端点。配置此终端节点以使用来自 IdP 的注销响应。 此终结点使用后绑定。
编辑:我按照答案中的建议启用了"唱出 Idp 流",但现在我收到 400 响应说"必需字符串参数client_id不存在"有人知道如何解决这个问题吗?
调用注销端点时需要包含 client_id 参数,该参数在您提供的文档中根据需要指定。客户端 ID 可在 AWS Cognito 控制台的用户池中找到,>您的用户池名称>应用程序集成>您的应用程序客户端名称,您应该在那里看到一个客户端 ID。