П token based authentication?

Как это работает эта логика?
Допустим, что использую только mysql. Создаю две таблицы, users и tokens
Авторизуем пользователя - добавляю в tokens одну запись с id пользователя и сам токен, допустим md5(timestamp+login+salt).
При аутентификации смотрю, есть ли такой токен среди токенов и по нему получаю id пользователя.
Логаут - удаление токена.

А что делать если нет логаута? Как отслеживать случай, когда токен устарел и пора бы его удалить (к примеру, 1 неделя)

Напоминаю вопрос "ЧТО ДЕЛАТЬ СО СТАРЫМИ ТОКЕНАМИ"

ОТВЕТ
или это
  • Вопрос задан
  • 3017 просмотров
Пригласить эксперта
Ответы на вопрос 2
@r0xer
Можно определить максимальное время жизни токена. И в момент активности пользователя это время обновлять. Вообще token-based авторизацию принято делать для доступа к закрытой системе без ввода логина/пароля. Типичный пример это какое то внешнее приложение, которое хочет использовать ваш доступ к системе но вот l/p этому приложению передавать небезопасно.
Ответ написан
nazarpc
@nazarpc
Open Source enthusiast
Что мешает вместе с токеном хранить срок его годности?
Вообще почитайте, например, спецификацию OAuth2 - там весьма понятно описаны все моменты связанные с получением и обработкой токенов, лучше использовать именно такой, общепринятый и весьма неплохой подход.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы