联合身份验证 - openid 注销

Posted

技术标签:

【中文标题】联合身份验证 - openid 注销【英文标题】:federated authentication - openid logout 【发布时间】:2011-05-30 20:15:58 【问题描述】:

尝试对 AppEngine 使用联合身份验证。我已经实现了身份验证部分,但它是导致一些问题的注销。当用户单击 createlogouturl 时,他们将注销我的应用程序,但不会从联合提供程序中注销。 *** 似乎也有这种行为。我了解无法联合注销...

谷歌文档说 -

“您应该强烈敦促用户,如果使用不属于他们的计算机,例如公共场所的信息亭,他们应该清除所有 cookie,除了注销。(一个不太吸引人的替代方法是告诉用户注销然后你的应用访问他们的 OpenID 提供商的网站并从那里退出。)"

我不想要求用户清除 cookie 或访问提供商网站并注销 - 问题 有没有办法在用户点击注销后自动清除 cookie(尤其是在登录时设置的)?

【问题讨论】:

【参考方案1】:

有没有办法在用户点击注销后自动清除 cookie(尤其是在登录时设置的)?

您可以通过发送新的空值来清除您自己网站中的所有 cookie...除非您的网站将 cookie 放在多个子域中!

无法使用您页面上的链接从其他域中清除 cookie。将这种能力赋予 javascript 可能是灾难性的。单个页面中的错误可能会迫使我重新登录 所有 其他网站,我可能需要几次才能注意到这种模式。这可能会变得非常烦人!

【讨论】:

有道理。有什么可以接受的方式来处理这种情况。我想要的最后一件事是用户从我的网站注销但仍然登录到他的 gmail 帐户... 我知道 Windows Live 的委托身份验证支持 2 级注销,应用程序可以联系 Windows Live ID 服务器并告诉它注销,但我认为 OpenID 不支持。 感谢所有建议...现在我只是将 usr 重定向到提供程序注销页面

以上是关于联合身份验证 - openid 注销的主要内容,如果未能解决你的问题,请参考以下文章

MVC 5、WIF (System.IdentityModel) 和 ADFS 未实际进行身份验证,联合注销时出错

IdentityServer4- 使用OpenID Connect添加用户身份验证(implicit)

.Net Core 2 OpenID Connect 身份验证和多个身份

Spring security openId 支持和用户取消身份验证

在集成测试中使用 oauth/openid 进行身份验证

openid 连接 2.0 并在仅 http cookie 中设置身份验证 JWT