Okta единый вход сохраняет предыдущего пользователя при новом входе - PullRequest
0 голосов
/ 10 мая 2019

В настоящее время я работаю над приложением единого входа, реализующим службу единого входа Okta, но всякий раз, когда пользователь выходит из приложения, а другой пользователь пытается войти в систему, кнопка входа автоматически берет предыдущего пользователя и входит в систему как эта учетная запись, даже не переходя через страницу входа в 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 голосов
/ 20 мая 2019

Это действительно SSO в действии. Предположительно это на общем устройстве?

На шаге 1 вы выходите из приложения локально? Если это так, Пользователь 1 все еще имеет сеанс Okta, и поэтому, когда Пользователь 2 пытается войти в систему на том же устройстве, сеанс Okta все еще действителен. Пользователь проходит процесс единого входа и в конечном итоге входит в систему как пользователь 1.

SSO на общих устройствах требует некоторого рассмотрения. Вы можете посмотреть на Single Logout, который использует свободные стандарты для локального выхода пользователя из приложения, и Okta. Либо вам нужно обратиться к соответствующему API Okta, чтобы выйти из системы непосредственно в точке, в которой вы выходите из приложения локально. Это убьет оба сеанса, а затем пользователю 2 будет предложено пройти аутентификацию.

...