У меня есть эндпоинт check_token. Авторизация не через $auth, не хочу в axios интерсепторе его проверять, и дергать check_token
А почему токен чекается на фронте вообще? Вернуть 401/403 на невалидный токен - это забота бекенда
А почему не хочешь? Тогда дергай в мидлваре (или глобальном, либо по критическим маршрутам)
Они мне 401 возвращают, запросов очень много, где нужен токен, таки в интерсептор придется засадить?
Просто единого BASE_URL нет
Я бы свёл проверки токена к периодическим, если нет возможности сделать проверку «тихо», без запроса (например, в том же интерсепторе проверять валидность токена не для каждого запроса, а лишь раз в определенное время или если токен сменился) А если в ответ на запрос к обычному апи внезапно прилетает маркёр невалидности токена - в интерсепторе произвёл бы переадресацию на логин
Делается ли так , я точно знаю время жизни токена, скажем 1 час, и просаживаю в cookies время авторизации, потом при нужном запросе проверяю не прошёл ли 1 час с момента авторизации и если да, то дернуть token refresh?
Звучит, конечно, логично Но колхозность решения оценивать не возьмусь😂
А ты вообще уверен что тебе нужен jwt?
Да, некоторые запросы требуют токен
Чего? Jwt решают не эту проблему
Возможно не понял вопроса
Извечная тема, кто должен следить за токенами. Я за бэк 😂, пусть он решает, кто там когда протух и надо или нет рефрешить (а если в админке блокировали юзверя итд). А на фронте только проверяю хидер (или Кука), и там либо есть, либо на логин
с jwt так не прокатит
Почему? Каждый запрос-ответ с хидером (или кукой). На бэке проверяется и время и пэйлоуд, и если надо высылается новый токен. А зачем на фронте это вплидировать? (и как, особенно пэйлоуд)
с трудом понимаю как это будет работать. Если мы в header отправили токен, и у нас ушло 10 запросов и все с просроченным токеном, бек в хеадере респонса для каждого запроса отправляет новый success/refresh ?
Так запрос с токеном приходит на один сервис (где данные и операции), а отвечает за выдачу новой пары - другой сервис - сервис аутентификации
это если хорошо сделали
Хм. На фронте мне нужен рефрешь, у меня немного своя логика на бэке, не стандартная (расширенная jwt) , видимо поэтому мне трудно донести 🙈
Если всё на одном сервисе, то зачем jwt?
по сессии лучше будет
кстати, а как ты относишься к httpOnly, sameSite=lax куки сессии на несколько месяцев/лет?
Обсуждают сегодня