首页 > 解决方案 > Okta 单点登录使以前的用户保持新登录

问题描述

我目前正在开发实现 Okta SSO 服务的 SSO 应用程序,但是每当用户从应用程序注销并且另一个用户尝试登录时,登录按钮会自动获取前一个用户并以该帐户登录,甚至无需通过 okta登录页面。

这是交易:

要真正从该用户注销,我必须转到 okta 中的应用程序页面并直接从那里注销用户,然后登录才会再次通过 okta 登录页面,我相信我在注销时遗漏了一些东西代码,我试图用 req.session.destoy 破坏用户会话,但它没有用,我不知道它还能是什么。

这是注销代码:

app.get('/logout', (req, res) => {
  req.logout();
  req.session.destroy();
  res.redirect('/');
});

希望大家能帮帮我

标签: node.jssingle-sign-onlogoutokta

解决方案


这确实是 SSO 的实际应用。大概这是在共享设备上?

对于第 1 步,您要在本地将用户从应用程序中注销?如果是这样,用户 1仍然有 Okta 会话,因此当用户 2 尝试在同一设备上登录时,Okta 会话仍然有效。用户通过 SSO 流程并最终以用户 1 的身份登录。

共享设备上的 SSO 需要考虑一些因素。您可以查看 Single Logout,它使用松散的标准将用户从本地应用程序注销,以及 Okta。或者,您需要查看适当的 Okta API,以便在您将用户从本地注销应用程序时直接注销用户。这将终止两个会话,然后将提示用户 2 进行身份验证。


推荐阅读