从bluemix上的SSO服务注销

时间:2016-05-06 15:54:40

标签: node.js single-sign-on ibm-cloud

我有一个Node Bluemix应用程序配置了SSO服务&与云目录连接。我可以成功验证用户身份,但我遇到了成功注销的问题。我已经尝试了req.session.destroy,req.logout和express-passport-logout模块来结束会话。但它们都没有奏效。我也尝试从我的应用程序中删除cookie,但它也没有用。它的唯一工作方式是重新启动浏览器或从浏览器清除cookie。有人知道如何从应用程序中实现SSO注销吗?

2 个答案:

答案 0 :(得分:1)

我上次使用该服务时,这是不可能的。问题是:您使用列出的命令执行的操作是关闭应用程序会话,而不是关闭SSO服务。因此,当用户返回(使用相同的cookie)时,您的应用程序将要求SSO服务进行检查,并且它将接受用户(因为会话仍然打开)。目前,没有可用于关闭SSO服务实例上的会话的API。

实际上,当您使用外部IdP时,这会变得更加复杂:即使您在SSO服务器上关闭会话,浏览器仍会与用户登录的真实IdP建立会话,具体取决于您的配置服务实例可以是IBM,Facebook,Google,Linkedin中的一个或多个。其中一些IdP通过持久性cookie提供长期会话,您的应用程序无法强制终止。这意味着下次点击"登录"按钮,特别是在SSO服务实例配置为仅使用一个IdP的情况下,SSO将无缝地发生,无需进一步交互。

查看here以获取更多信息。

答案 1 :(得分:0)

正如翁贝托所说,也许以前不可能,但现在似乎是:

检查this。您可以将用户重定向到此:

/idaas/mtfim/sps/idaas/logout

如果您只使用云目录,至少这似乎有效。