【问题标题】:Node.js + OpenID: How to detect provider sign out?Node.js + OpenID:如何检测提供商退出?
【发布时间】:2013-09-30 04:53:50
【问题描述】:

我目前正在尝试使用 this library 将 OpenID 与 Node.js 服务器集成。登录非常简单,但我真的很难弄清楚如何检测用户何时从他们的 OpenID 提供程序中退出。

例如,我目前使用 Google 作为提供商。如果用户使用 Google 登录我的应用程序,然后在另一个站点上从 Google 注销,我需要有办法解决这个问题,以便我也可以将他们从我的应用程序中注销。

我的第一种方法是简单地保留断言,然后定期验证它是否已过期。这不适用于 OpenID,因为 openid.response_nonce 对于每个请求应该是唯一的。我不能得到一个新的断言,因为这需要另一个重定向到谷歌,所以我不能在幕后使用 ajax 来做。这通常是如何使用 OpenID 完成的?可以做到吗?谢谢。

【问题讨论】:

  • 您网站上的会话通常不会像这样绑定到他们的 OpenID 提供程序会话。
  • 哦,你是对的,我刚刚尝试了一些使用这种登录方式的网站,但他们没有将会话绑定到提供商。我可能不得不重新考虑。

标签: node.js openid


【解决方案1】:

您无法知道用户何时退出; OpenID 中的依赖方(客户端)和提供者(服务器)之间没有这种联系。

您能做的最好的事情就是跟踪断言何时过期和/或重新验证。

【讨论】:

    猜你喜欢
    • 2012-05-16
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    • 2017-10-14
    • 2016-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多