170 похожих чатов

Вопрос про jwt инвалидацию. На данный момент у меня в

редис ключом является uuid токенов(аксес и рефреш). Если делают запрос на логаут или рефреш, то удаляются оба uuid из редиса. Но вот теоретически допустим
1. кто-то украл рефреш токен. заюзал его и у него теперь новая пара токенов.
2. Потом юзер у которого украли рефреш токен пробует зайти на сайт -> токен не валиден -> делает рефреш -> рефреш тоже не валиден -> делается логаут, но этих токен uuid в редис уже нет.
то есть по сути токены хакера живут своей жизнью и он их может бесконечно обновлять, а токены юзера своей.

Второй вариант это использовать айди юзера как ключ в редис и значением будет все токены этого юзера. И тот же флоу
1. Хакер украл и обновил пару токенов
2. Юзер снова делает логаут(так как рефреш токен не валиден) и тут по ключу(айди юзера) в редисе стираются токены хакера.
Все как бы круто.

Но что делать, когда один и тот же юзер будет заходить и с компьютера и с телефона, тут уже две пары токенов на одного юзера?
Поправьте, если я где-то не правильно мыслю

11 ответов

7 просмотров

На ум пришло только добавить что то вроде версии браузера или вариант платформы.Зависит от сервиса. НО это тоже геморой.

Не используйте jwt-авторизацию

В редис

DORIAN GRAY- Автор вопроса
Владимир Гришин
В редис

а есть статья с примером?

DORIAN GRAY
а есть статья с примером?

https://www.sohamkamani.com/golang/session-based-authentication/

Я бы заюзал сессии.

DORIAN GRAY- Автор вопроса
Владимир Гришин
https://www.sohamkamani.com/golang/session-based-a...

то есть этот токен должен иметь очень маленькое время жизни

DORIAN GRAY
а есть статья с примером?

Редис вроде как в один поток.

DORIAN GRAY- Автор вопроса

ну если кто-то украл токен, то они оба могут его юзать?

DORIAN GRAY- Автор вопроса

тогда по сути можно остаться на первом варианте, просто рефреш токен класть в хттп онли куки

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
96
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
Вопрос вроде правильно, но что надо сделать, чтоб текст был виден нормально ? ghci> TE.decodeUtf8 $ TE.encodeUtf8 "test - проба" "test - \1087\1088\1086\1073\1072"
Fedor
7
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Кто может подсказать? Я преобрпзовал изображение в бинарное(у меня установлен трекбар который при установленном значении меняет пиксели на белый если меньше и чёрный если боль...
Константин VS
5
Карта сайта