Я работаю над мобильным приложением, которое использует Stormpath на стороне сервера для аутентификации и авторизации. Мне нужно поддерживать одного и того же пользователя на нескольких устройствах, но я хочу иметь возможность отслеживать его и ограничивать его, если захочу.Отслеживание нескольких логинов от одного и того же пользователя с помощью Stormpath
Мое приложение в настоящее время использует Stormpath для входа пользователя с использованием электронной почты/пароля или MDN/password, а при успешном входе в систему возвращает токен JWT для доступа к серверу API.
Я имею в виду следующий подход:
- Держите список сеансов в учетной записи пользователя. Каждый раз, когда пользователь регистрируется, добавляется новая запись с идентификатором device_id и предоставленным JWT. Когда пользователь подписывается, запись удаляется или помечена как неактивная.
- Когда пользователь пытается выполнить вход на другое устройство, если я хочу ограничить только одно активное устройство, я бы отключил другую запись и истекал JWT, чтобы приложение могло ее обнаружить и потребовать повторного входа в систему.
- Если бы я хотел ограничить пользователя максимум n сеансами, я мог бы просто подсчитать записи и заставить пользователя подписаться на одной из других сессий, прежде чем позволить ему/ей войти на новое устройство.
Это хороший подход? Есть ли лучший способ сделать это? Каковы проблемы с этим методом?
Спасибо Эдварду, это в значительной степени соответствует тому, о чем я думал. Я ценю ваше подтверждение. – DiegoK