Задать вопрос
  • Как правильно использовать refresh token на разных устройствах?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Каждое устройство - отдельный клиент и получает свою пару токенов. В отдельную таблицу базы пишутся записи (id_пользователя, refresh_токен, время_окончания_токена, статус).
    При запросе обновления если этот токен отмечен в базе как использованный, то все токены клиента удаляются из базы как скомпрометированные и возвращается требование аутентификации по логину/паролю.
    Если токен просрочен или его нет в базе, то возвращается требование аутентификации по логину/паролю.
    Если токен есть в базе и ещё не использован, то токен отмечается как использованный и выдаётся новая пара токенов.
    Периодически из базы удаляются токены с истёкшим сроком действия.
    Ответ написан
    5 комментариев