Homchenkokostya
@Homchenkokostya

Авторизация с нескольких устройств?

Хотелось бы узнать, какой подход при разработке авторизации используете Вы?
Дело в том, что большинство статей, которые рассказывают - "авторизацию нужно делать так", упускают очень важный факт - они игнорируют то, что пользователь использует несколько гаджетов/браузеров для интернет серфинга.
Основная модель - это генерировать хеш при удачной авторизации, и хранить его в куках и БД.
user_id + user_hash это круто. Но, в случае новой авторизации на другом устройстве - хеш в БД обновляется - и предыдущая сессия вылетает.
  • Вопрос задан
  • 1541 просмотр
Пригласить эксперта
Ответы на вопрос 3
@IceJOKER
Web/Android developer
А кто вам мешает создать отдельную таблицу:
user_id | hash
???
Ответ написан
@maxtm
Make money, not job
Таблица user + user_session

user_session:
user_id
token
ip
.. еще что душе угодно (агент, дата старта и т.п.)

В куках храните token, по нему же и ищите юзера в user_session
При успешной авторизации создаете запись в user_session, с указанием токена.
Токен вешаете клиенту.
Можно реализовать также привязку к IP (подсети), дабы снизить риск кражи сессии.

При логауте - вешаете флаг, что токен не активен.
Ответ написан
abler98
@abler98
Software Engineer
А зачем обновлять ключ авторизации (хэш) при каждом входе, если его можно создать при регистрации, а затем обновлять при смене пароля?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы