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

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

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

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

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

11 ответов

23 просмотра

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

Не используйте 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- Автор вопроса

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта