Сценарий:
У меня есть модуль входа в систему, когда я использую JWT для аутентификации и авторизации пользователя для любого доступа API к моему серверу шлюза. Здесь, когда пользователь входит в систему, я получаю данные пользователя из базы данных и подтверждаю обычную проверку пользователя, а затем генерирую токен доступа JWT и токен обновления. Этот токен доступен моему клиенту (UI). Всякий раз, когда они выполняют вызов API на сервер, они отправляют этот токен доступа на сервер шлюза, и сервер проверяет токен (включая срок действия и все такое) и разрешает пользователю доступ к ресурсу шлюза. Итак, теперь я вхожу в мою настоящую область сомнений: как мне следует поступить, когда одновременный вход пользователя в одну и ту же учетную запись? В настоящее время я не храню при себе никакой информации о токенах (ни в базе данных, ни в памяти). Чтобы справиться с этим сценарием, я ожидаю, что когда второй запрос на вход поступает от того же пользователя, мы спрашиваем пользователя, что «пользователь уже вошел в систему, сделайте хочешь продолжить?» , если этот пользователь говорит «да», мы разрешаем пользователю войти в систему, и нам нужно выйти из системы старого пользователя, где бы он ни использовал пользовательский интерфейс. Поскольку JWT не имеет состояния, у меня возникли такие сомнения.
Загвоздка в том, что у меня огромное количество пользователей. Как я могу эффективно справиться с этим сценарием. Не могу поставить под угрозу производительность моего приложения.
Я видел подобный вопрос на самой этой платформе, но не смог понять его из ответов. Если кто-то сможет объяснить это более подробно, учитывая производительность и стандарты, которым мы следуем во всем мире, мы будем очень признательны.
Подробнее здесь: https://stackoverflow.com/questions/785 ... pring-boot
Мобильная версия