Okta单点登录使以前的用户保持新登录名

时间:2019-05-10 07:42:41

标签: node.js single-sign-on logout okta

我目前正在从事实施Okta SSO服务的SSO应用程序,但是每当一个用户从应用程序注销而另一个用户尝试登录时,登录按钮都会自动将以前的用户作为该帐户登录,而无需登录通过okta登录页面。

这是交易:

  • 用户1登录通过okta登录

  • 用户1注销

  • 用户2尝试在同一台计算机上登录

  • 页面自动以用户1登录

要真正从该用户注销,我必须进入okta的应用程序页面,然后直接从那里注销该用户,然后才可以再次通过okta登录页面登录,我相信我在注销代码,我试图用req.session.destoy销毁用户会话,但没有用,我不知道还有什么可能。

这是注销代码:

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

希望大家能帮助我

1 个答案:

答案 0 :(得分:0)

这实际上是SSO。大概是在共享设备上吗?

对于步骤1,您是将用户从本地注销应用程序吗?如果是这样,则用户1 still 具有Okta会话,因此,当用户2尝试在同一设备上登录时,Okta会话仍然有效。该用户经历了SSO流程并最终以用户1身份登录。

共享设备上的

SSO需要一些考虑。您可以查看Single Logout,它使用宽松的标准将用户从本地应用程序注销,也可以使用Okta。或者,您需要查看适当的Okta API,以便在将用户从本地应用程序注销时直接将其注销。这将杀死两个会话,然后将提示用户2进行身份验证。