Токен через сутки переставал читаться. Я перешёл из JWT на собственные токены (ушёл от чужой логики) и проблема осталась та же.
Дело отложил, но вернулся, и заметил, что всё дешифруется нормально, просто вердикт я выносил не только на основании "битого" токена, а ещё проверял время последнего взаимодействия с токеном
Вопрос такой: по какому принципу работает strtotime('-48 hours')?
Может ли быть такое, что когда я запустил скрипт 10 февраля. В начало выполнения скрипта strtotime('-48 hours') - вернул бы мне время за 8 февраля. Но спустя сутки не вернул бы за 9 февраля, а за то же 8?
ничего не понятно. Предлагаю начать сначала. Что такое "битый" токен? Он не расшифровывается? Если расшифровывается, то что в нем? В нем есть дата истечения? Если есть, откуда она берется?
Да, я думал, что проблема была в том, что библиотека не могла расшифровать токен спустя сутки работающего вебсокета. Но по факту токен всегда валлидно расшифровывался. Просто у меня в методе стоят доп проверки на валидность. Например, если данный токен не использовался более 48 часов - я его аннулирую и воспринимаю невалидным. Но я сверху уже проверил и исключил, что функция strtotime('-48 hours') неверно формирует время. Она возвращает время строго относительно текущего, а не времени при запуске скрипта
я бы на твоем месте использовать объектный стиль, DateTimeInterface
В самом токене даты истечения нет, я в БД храню сессию и там храню дату последнего взаимодействия с токеном
Обсуждают сегодня