Логика авторизации JohnCMS

4.81K
.
╭∩╮ (`-`) ╭∩╮
# Delphinum (25.12.2016 / 01:59)
AlkatraZ, смотри, ты сейчас делаешь так:
1. Генеришь токен
2. Пишешь его в куку юзеру
3. При повторном входе юзера получаешь от него токен
4. Ищешь токен в базе, если нашел, то юзер авторизован
Верно
.
# Delphinum (25.12.2016 / 01:50)
L!MP, не, хранить id юзера в куке нельзя, это не безопасно
Да ну. Айди юзера это публичная информация, ничего военного в ней нет.
Ты наверное не так понял, я не имел ввиду что айди юзера является полноценной заменой айди сессии.
Понятно что нужно отправлять еще что-то или делать так как я описал выше, т.е генерировать уникальный токен и больше, корме него, с клиентом ничего не шэйрить.
А что будет этим токеном уже дело десятое, может быть и айди сессии (если это не противоречит архитектуре, смотри выше, про REST), оно как бы уже и так есть, и так уникальное и сложное для подбора.
.
AlkatraZ, а сессия делает так:
1. При session_start генерится токен (SSID)
2. Пишется в куку юзера
3. При повторном входе юзера получается от него токен (SSID)
4. Ищется токен в хранилище сессии, если нашел, то юзер авторизован

Чуствуешь сходство? )
.
# L!MP (25.12.2016 / 02:00)
Да ну. Айди юзера это публичная информация, ничего военного в ней нет.
Ты наверное не так понял, я не имел ввиду что айди юзера является полноценной заменой айди сессии.
Понятно что нужно отправлять
ID юзера может быть заменен в куки, и тогда заменивший его юзер получит доступ к учетке, ID которой он укажет в своей куки.
.
(\/)____o_O____(\/)
Delphinum, вот для этого и нужен еще и хэш пароля в куке )
.
╭∩╮ (`-`) ╭∩╮
# Delphinum (25.12.2016 / 02:01)
AlkatraZ, а сессия делает так:
1. При session_start генерится токен (SSID)
2. Пишется в куку юзера
3. При повторном входе юзера получается от него токен (SSID)
4. Ищется токен в хранилище сессии,
Это я знаю, но даже если я буду использовать в качестве токена Session ID, мне его надо будет писать в отдельную Куку. Сессионные использовать нельзя, ибо у них свое время жизни, которое может не совпадать с моими требованиями насчет времени "запомнить".
.
Koenig, а не проще не использовать куки, а использовать сессию? Тогда юзер не сможет ничего заменить в данных, ибо у него есть только SSID.
.
(\/)____o_O____(\/)
Delphinum, но ssid в куке
.
# AlkatraZ (25.12.2016 / 02:04)
Это я знаю, но даже если я буду использовать в качестве токена Session ID, мне его надо будет писать в отдельную Куку. Сессионные использовать нельзя, ибо у них свое время жизни, которое может не совп
Что значит "писать в отдельную куку"? Тебе ничего писать не надо, session_start сама отправляет Set-Cookie если нужно.

"Сессионные использовать нельзя" - сессионные что?
.
Koenig, ну так если у вас уже токен в куки, зачем вам еще и пароль там же? ))
Всего: 185