лишь только авторизую пользователя, то есть API предоставляемых resource server мне не нужны, только логин. Я, получив access token, от например гугла, сохраняю его у себя, а для пользователя генерирую свой JWT, чтобы поддерживать stateless, как положено, но я не хочу, чтобы пользователь пользовался моим сервисом, если хранимый сервером access_token гугла инвалидирован, не истек, а именно недействителен. То есть он сменил пароль в гугле или забанен. При этом не вижу разумным каждый раз дергать гугл API, как только он ко мне приходит с JWT токеном.
Дилемма такая: я отказываюсь от концепции JWT, теряю stateless, и теперь отдаю пару своих токенов(не связанных с гугловскими) refresh и access. Как только истекает access токен, refresh обновляет пару токенов и заодно проверяем в гугл API валидность гугл access токена, если он инвалидный, то сразу же инвалидируем и локальный access и refresh заставив авторизоваться в гугле заново, то есть отзываем.
Другое решение, ждать истечения access гугл токена, по истечении проверять, что пользователь валидный, и тогда все равно придется хранить на сервере пары access и refresh локальных, чтобы отозвать их.
Как поступать?
За тебя выбор сделать? Тогда отказывайся от jwt
Обсуждают сегодня