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

А как с jwt реализуется история, когда мы хотим пользователю

показать все авторизованные устройства и какую-то статистику по ним?

28 ответов

12 просмотров

fingerprint

Roman-Timofeev Автор вопроса
Danila
fingerprint

? Можно чуть больше 1 слова?

да никак. Для такого случая лучше использовать сессии, которые можно и прервать в любой момент

refresh-токены хранятся в базе. Это и есть история

Dmitriy Sviridov
refresh-токены хранятся в базе. Это и есть история

это значительно сложнее и менее безопасно, случаи применения JWT ограничены

Roman-Timofeev Автор вопроса
Roman Timofeev
? Можно чуть больше 1 слова?

Ну при генерации токена, он привязывается к уиду устройства с которого был запрос, для получени уида браузера стандарт это либа fingerprintjs

Roman Timofeev
Так а как делается мгновенный deauth?

Он не нужен, делайте токены пятиминутными

Roman Timofeev
Так а как делается мгновенный deauth?

refresh делается невалидным (в базе его делаешь невалидным) - и юзер не сможет получить новую пару токенов при ротации

Dmitriy Sviridov
refresh делается невалидным (в базе его делаешь не...

это не мгновенный deauth, валидные токены по прежнему валидны

Roman Sharkov
это не мгновенный deauth, валидные токены по прежн...

access - короткоживущий токен. Он умирает очень быстро

Danila
Он не нужен, делайте токены пятиминутными

А если совсем прям надо, тогда set невалидных токенов в любом быстром хранилище

Dmitriy Sviridov
access - короткоживущий токен. Он умирает очень бы...

вот я поэтому и не понимаю зачем всё так усложнять? 🙂 сомневаюсь что в данном бизнес кейсе десятки тысяч серверов и миллионы конкуретных клиентов чтобы оправдать JWT

ddpvfpd
очень быстро != мгновенно

Ну это трейдофф сложности реализации и требований к системе Не всем нужно, чтобы сессия была деактивирована сразу

Roman Sharkov
вот я поэтому и не понимаю зачем всё так усложнять...

Ну у меня права успешно влезают в jwt, и я не лазаю в базу.

Roman-Timofeev Автор вопроса
Danila
А если совсем прям надо, тогда set невалидных токе...

Тогда должна быть сущность, которая умеет отвечать "токен валидный" и хранить этот set

Roman Timofeev
Тогда должна быть сущность, которая умеет отвечать...

То есть пришли к идее инвалидируемых токенов в итоге

Ilya Kaznacheev
То есть пришли к идее инвалидируемых токенов в ито...

любой токен валидный в котором не истёк вшитый срок годности

Roman Sharkov
любой токен валидный в котором не истёк вшитый сро...

Инвалидируемый токен, это когда можно принудительно инвалидировать выданный токен, пока срок годности еще не вышел

Ilya Kaznacheev
Инвалидируемый токен, это когда можно принудительн...

а зачем в таком случае JWT? 😅 этот токен может быть простым идентификатором сессии. ведь в случае с JWT мы как раз не хотим ходить в storage проверять валиден ли токен или нет.

Ilya Kaznacheev
Я и не говорил нигде, что он там нужен 🙂

ну тогда это всего лишь старые добрые сессии

Roman-Timofeev Автор вопроса
Roman Timofeev
Так инвалидация как делается? )

Инвалидация сессии, привязанной к токену на сервере

Roman-Timofeev Автор вопроса
Ilya Kaznacheev
Инвалидация сессии, привязанной к токену на сервер...

Выглядит как кадавр: если у нас сессии, зачем тогда токен?

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

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

И к какой архитектуре привязана Java?
Dmitry Olshansky
17
@Aiwan что такое база образца?
Alexey
27
Не многие знают, а кто знает, тот уже успел забыть, что в далёком 2004 году эта игра произвела настоящий фурор, настолько революционной была технология, применяемая для её соз...
ICCID
4
коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
Короче я тут узнал полный пиздец Что кучу постов которые я создавал через posted Спустя время не могу редактировать и менять Мол телега возвращае ошибку Это реально так ...
inc.
13
Хотя у меня сейчас есть более сложная задача, вот её думаю: как объяснить челу переходного возраста противоположного полу, обучающегося в польском колледже (а-ля наш техникум)...
Вячеслав Кузьменко
15
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
30
а сколько всего в IT умерло? Где флеш-игры, их было туча, где они все? Сегодня технология есть, а завтра вжух и мёртвая. Этот wasm сильно напоминает джавовские апплеты, silver...
Constantin F.
5
а вы в курсе, что Initialize() не работает? var arr123: array[0..123] of Byte; ... Initialize(arr123, SizeOf(arr123));
Iluha Companets
8
верно что я могу удалить эти addq и subq т.к. со стеком никакого взаимодействия нет (исключая call)?
Michael
16
Карта сайта