AWS Cognito размещенный пользовательский интерфейс и предотвращение одновременных пользовательских сессий - PullRequest
0 голосов
/ 07 января 2019

Наш веб-сайт предотвращает одновременные пользовательские сеансы. Пользователь может одновременно активировать свой сеанс только на 1 устройстве / браузере. Сегодня мы переходим на AWS Cognito User Pools в качестве поставщика аутентификации. Пользовательский интерфейс Cognito используется для входа. Как предотвратить одновременные пользовательские сеансы на Cognito?

  1. Джон Доу открывает наш веб-сайт, нажимает кнопку «Войти»
  2. Его браузер переходит к пользовательскому интерфейсу, расположенному на Cognito https://save -ca-dev.auth.us-east-2.amazoncognito.com / login? Redirect_uri = http://localhost:3000/user_sessions&response_type=code&client_id=4hlhf1cvm18lkst3dm8ru8oc73
  3. Джон вводит свои учетные данные, нажимает на кнопку Войти
  4. Он перенаправлен обратно на наш сайт. Он успешно вошел в систему
  5. Джон Доу открывает наш сайт на другом ПК.
  6. Повторение процедуры входа. Он успешно вошел в систему на другом компьютере.
  7. При втором входе в систему наш веб-сайт аннулирует первую пользовательскую сессию Если он попытается работать на первом ПК - он будет анонимным пользователем.
  8. Допустим, Джон возвращается к первому ПК и напрямую открывает размещенный на Cognito пользовательский интерфейс / login

Задача Cognito по-прежнему показывает, что Джон вошел в систему и не будет спрашивать его учетные данные sign-in-as-etruskas-gmail

Желаемый результат Cognito должен спросить полномочия Джона. Как мне этого добиться?

Я попытался включить отслеживание и запоминание Cognito Device, похоже, я мог бы использовать ForgetDevice API. Но вся документация ориентирована на мобильные устройства. Это подходит для браузера ПК? Кроме того, для отслеживания устройства требуются сгенерированные учетные данные.

Ответы [ 2 ]

0 голосов
/ 15 мая 2019

Невозможно получить желаемый результат с помощью размещенного пользовательского интерфейса с его текущим дизайном. Чтобы получить желаемый результат выхода из системы, вам необходимо создать пользовательское веб-приложение и мобильное приложение и использовать конечную точку LOGOUT OAuth 2.0 и API GlobalSignOut соответственно.

0 голосов
/ 14 мая 2019

Вы должны выйти из пользовательского интерфейса, размещенного на Cognito, также, когда ваш веб-сайт делает недействительным сеанс. https://docs.aws.amazon.com/cognito/latest/developerguide/logout-endpoint.html

...