Как сделать запоминающуюся авторизацию, работающую на нескольких ЭВМ?

Не могу избавиться от ощущения, что изобретаю велосипед. Читал Как сделать авторизацию по кукам на нескольких ПК? PHP , но в приведенной в ответе ссылке токен при каждом заходе перезаписывается. Т.е. вошли с ПК - записался один токен, вошли с ноута - записался другой токен, и теперь на ПК придется входить заново.
Как всё же сделать авторизацию, работающую сразу на нескольких устройствах? Использовать один токен на все устройства? Или сделать отдельную таблицу в базе, куда записывать все активные токены пользователей? Или есть ещё какие-либо варианты?
  • Вопрос задан
  • 2560 просмотров
Пригласить эксперта
Ответы на вопрос 1
AMar4enko
@AMar4enko
Какие токены вы имеете в виду? ID сессии?
Клиент передает вам идентификатор сессии, вы по этому идентификатору вытаскиваете данные, в данных ID пользователя.
Собственно, если клиент передал вам ID сессии и вы у себя по нему нашли сессионные данные, означает, что пользователь залогинен (не будем вдаваться в подробности проверки валидности сессий по IP и.т.д.)
На разных компьютерах будут разные ID сессий, но к ним на стороне сервера будет привязан один и тот же ID пользователя.
Могу предположить, конечно, что вы, при логине пользователя, в таблицу "Пользователи" в колонку SESSION_ID записываете ID сессии только что залогинившегося пользователя - в этом случае все будет точно так, как вы описали. Но в этом случае вы сами себе злобный Буратино - пользователи отдельно, сессии отдельно.
Ответ написан
Ваш ответ на вопрос

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

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