роль (например, admin), хранить её в access токене? Ведь если я обновлю пользователя (не важно как, хоть даже напрямую через бд), токен будет с уже не актуальным payload'ом, роль не изменится, и придётся ждать, пока истечёт его время и он обновится благодаря refresh токену. Сейчас делаю так, в payload только userId, а при проверке просто вытаскиваю нужного пользователя по этому id и проверяю роль, это не правильно?)
Поэтому обычно делают короткое время жизни токена, а роль в нагрузке нужна, чтобы не бегать с проверкой прав пользователя при каждом запросе.
Да, вижу минус в обращении к бд при каждом запросе, но, что если мне нужно срочно заблокировать пользователя, т. е. выдать ему роль banned, однако это произойдёт только после обновления аксес токена.
Либо блэк-лист
блэк-лист и для аксес, и для рефреш токена? Но разве это не такое же обращение к бд?
да, такое же. поэтому жвт и ругают когда он используется как сессии
Ну, можно оптимизировать за счет объема таблицы, и прочих подходов, но по сути - тот же костыль.
Обсуждают сегодня