Size: a a a

2021 January 10

D

Dmitry in symfony
Проще надо быть :)
источник

Ш

Шурик in symfony
Добавляешь юзеру интерфейс, добавляешь метод и симфони сама будет юзеров разлогинивать
источник

ПГ

Павел Г. in symfony
Dmitry
Проще надо быть :)
Ну например в каком нить jwt сесси вроде нет. Но там правда и "разлогинить" не получится, просто блок
источник

D

Dmitry in symfony
Павел Г.
Ну например в каком нить jwt сесси вроде нет. Но там правда и "разлогинить" не получится, просто блок
Получится. Все делается.
источник

Ш

Шурик in symfony
источник

Ш

Шурик in symfony
В зависимости от версии - либо интерфейс подойдёт, либо дока скажет куда копать
источник

ПГ

Павел Г. in symfony
Dmitry
Получится. Все делается.
В какое направление подумать? Что то не могу "дойти" ) jwt надо как то сделать невалидным или еще что-то для этого. Минимум надо передать команду во фронт.
источник

D

Dmitry in symfony
Павел Г.
В какое направление подумать? Что то не могу "дойти" ) jwt надо как то сделать невалидным или еще что-то для этого. Минимум надо передать команду во фронт.
Не нужно. Просто отзывается рефреш токен и все. Фронт сам увидит что жвт умер. Попробует получить новый и получит отлуп.
источник

D

Dmitry in symfony
А дальше просто покажет форму логина. На логине проверят блокировку. Время реакции на блок будет равно времени жизни жвт что приемлемо
источник

ПГ

Павел Г. in symfony
Dmitry
Не нужно. Просто отзывается рефреш токен и все. Фронт сам увидит что жвт умер. Попробует получить новый и получит отлуп.
Ну т.е. это ен моментально. Дропаем рефреш, и только когда нужен будет рефреш - будет логаут
источник

ПГ

Павел Г. in symfony
Аксес токен то все это время будет рабочим, пока не запросим обновление
источник

ПГ

Павел Г. in symfony
Dmitry
А дальше просто покажет форму логина. На логине проверят блокировку. Время реакции на блок будет равно времени жизни жвт что приемлемо
Ок, собственно что написал выше :)
источник

Kd

Konstantin dmz9 in symfony
Павел Г.
Ну т.е. это ен моментально. Дропаем рефреш, и только когда нужен будет рефреш - будет логаут
закодируй в жвт индекс какой нибудь, под которым креды версионируются.
при смене кредов - поднимаешь индекс. сравниваешь что индекс не свежий - значит кидаешь 403
источник

Kd

Konstantin dmz9 in symfony
можно дату, можно версию кредов (версионирование User если уж совсем утрировано)
вести учет выданых токенов необходимости нет
источник

ПГ

Павел Г. in symfony
Konstantin dmz9
закодируй в жвт индекс какой нибудь, под которым креды версионируются.
при смене кредов - поднимаешь индекс. сравниваешь что индекс не свежий - значит кидаешь 403
Ну проверять тогда надо будет во время действий заблокированного пользователя. Аксесс токен в базе то вроде не лежит, чтобы с ним мог работать админ.  Примерно что я предлагал - проверять при каждом запросе. Но это не оптимально.
источник

Kd

Konstantin dmz9 in symfony
Павел Г.
Ну проверять тогда надо будет во время действий заблокированного пользователя. Аксесс токен в базе то вроде не лежит, чтобы с ним мог работать админ.  Примерно что я предлагал - проверять при каждом запросе. Но это не оптимально.
с базы всеравно креды фетчатся, какая разница?
источник

Kd

Konstantin dmz9 in symfony
бандл-небандл, разницы нет, чтоб аутентифицировать - токен раскодируется и с базы фетчатся нужные креды, Если есть.
это всеравно делается.
помимо самого айдишника кредов - дополнительно засовываешь версию - оверхед какой тут есть?
с базы креды фетчатся, приплюсовать там версию оверхед есть? да тоже сомнительно.
получить с декодированого токена версию кредов с которыми он был закодирован - какой там оверхед?
или оверхед в if (tokenVersion != credsVersion) ?
источник

Kd

Konstantin dmz9 in symfony
не надумывай, нет там никакой "неоптимальности"
источник

ПГ

Павел Г. in symfony
Konstantin dmz9
бандл-небандл, разницы нет, чтоб аутентифицировать - токен раскодируется и с базы фетчатся нужные креды, Если есть.
это всеравно делается.
помимо самого айдишника кредов - дополнительно засовываешь версию - оверхед какой тут есть?
с базы креды фетчатся, приплюсовать там версию оверхед есть? да тоже сомнительно.
получить с декодированого токена версию кредов с которыми он был закодирован - какой там оверхед?
или оверхед в if (tokenVersion != credsVersion) ?
Единственное не понял в чем разница между этим вариантом и моим изначальным проверять блокировку у аутентифицированного пользователя.
источник

Kd

Konstantin dmz9 in symfony
Павел Г.
Единственное не понял в чем разница между этим вариантом и моим изначальным проверять блокировку у аутентифицированного пользователя.
блокировка не единственный кейс где может пригодиться инвалидация всех токенов.
"разлогиниться везде" тоже бывает нужно, а не только блокировка юзера полностью
источник