Size: a a a

Angular - русскоговорящее сообщество

2021 May 20

Р

Роберт in Angular - русскоговорящее сообщество
На уровне Apollo = фильтровать по operationName?
источник

VL

Vitaly Lipko in Angular - русскоговорящее сообщество
Да
источник

Р

Роберт in Angular - русскоговорящее сообщество
Понял, принял. Спасибо
источник

В

Владимир in Angular - русскоговорящее сообщество
а почему у тебя вообще получается замкнутая петля? Ну создаешь ты запрос, увидел что протух токен... отправил рефреш на сервис рефреша, получил новый и погнал в аполло
источник

Р

Роберт in Angular - русскоговорящее сообщество
Запрос на новый токен проходит через этот же интерцептор, на него вешается уже истекший или невалидный токен и сервер присылает 401
источник

Р

Роберт in Angular - русскоговорящее сообщество
И снова по кругу
источник

MG

Moe Green in Angular - русскоговорящее сообщество
А что означают эти циферки 1x, 12x и тп - на полях?) @dersizes
источник

В

Владимир in Angular - русскоговорящее сообщество
проблема не в интерсепторе, кмк, а в логике реализации. Ты отправляешь запрос, токена нет/он протухший. Тебя редиректит на форму логина. Ты входишь в систему, получаешь токен. Из него извлекаешь  время, когда он протухнет. До того, как этот момент настал - отправляешь валидный токен на рефреш и получаешь свежий. Если что-то где-то сглючило и у тебя невалидный токен, вновь редирект на логин. Никаких "я отключу отправку токена и открою дырищу в безопасности"
источник

Р

Роберт in Angular - русскоговорящее сообщество
Я понимаю что что-то не так с реализацией. Поэтому обратился сюда. Но как тогда правильно отслеживать время жизни токена? Т.е. допустим я получил токен,  живет он 10 минут, я слежу чтобы через 9 минут он обновился, но при этом закрываю браузер и через 5 минут открываю. Как понять через сколько его обновить? Или обновлять при каждом входе, если токены допустим в localStorage?
источник

В

Владимир in Angular - русскоговорящее сообщество
варианты разные... например - при любом запросе ты так и так цепляешь токен. В процессе запроса - проверяй время его истечения, если оно меньше порогового значения, делай запрос с текущим токеном (который еще валиден) и параллельно - запрос на рефреш
источник

Р

Роберт in Angular - русскоговорящее сообщество
Что ты имеешь в виду под проверкой времени его истечения?
источник

MG

Moe Green in Angular - русскоговорящее сообщество
Ребята, а что за символ странный вот этот - ZWNBSP? Обновил ws - и начал он втыкать мне их где ни попадя, но особенно любит - перед import вставить, в начале файла
источник

В

Владимир in Angular - русскоговорящее сообщество
в токене есть exp - экспайр дата, время окончания жизни токена. Берешь его и вычитаешь из текущего времени. Если разность меньше какого-то порога, инициируешь запрос на рефреш
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Похоже что расширение какое-то
источник

Р

Роберт in Angular - русскоговорящее сообщество
Имеешь в виду должно быть поле с датой окончания? На текущий момент просто есть только поле с длительностью его жизни)
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Значит должна быть ещё дата начала активности. Потому что толку просто от длительности нет

Что за токен вообще? Кастомный какой то?
источник

Р

Роберт in Angular - русскоговорящее сообщество
В общем понял. Надо пнуть бекендеров
источник

Р

Роберт in Angular - русскоговорящее сообщество
Спасибо
источник

Р

Роберт in Angular - русскоговорящее сообщество
А что если нужно рефрешить токен уже после того как он истек, а не заранее?
источник

Р

Роберт in Angular - русскоговорящее сообщество
В плане если юзер втыкал в одну страницу без запросов очень долго
источник