В последнее время я читаю о токенах JWT, и у меня есть момент; У меня есть идея, которая, кажется, хороша в моей голове, но я подозреваю, что это не так здорово, когда дело доходит до конца.JWT Tokens global + private secret
Я вижу, что люди шифруют токены с помощью одного ключа для глобальной цели. Что делать, если я буду генерировать совершенно новый ключ для каждого пользователя, присоединить две строки впоследствии и использовать вывод для шифрования токена? Это потребует создания черных списков для пользователей, которым больше не нужен доступ и так далее. Что мне не хватает? Потому что я уверен, что у кого-то была похожая идея, и по какой-то причине она широко не используется. Где я потерялся?
конечно! Простите, вы совершенно правы. Это не шифрование, это подпись. И я не хотел обрабатывать список выпущенных токенов, но список пользователей, которые должны быть вынуждены выйти из системы - я могу изменить соль пользователя, и после этого его токен будет недействительным. Считаете ли вы, что моя концепция имеет какое-то преимущество, или это не очень хорошо? –
Изменение ключа для пользователя, когда вы предлагаете или хешируете группу критических атрибутов пользователя, является правильной альтернативой маркерам черного списка, чтобы принудительно аннулировать JWT. Есть люди, которые не любят подобные методы, потому что нарушают безгражданство JWT и требуют доступа к базе данных в каждом запросе. Они предпочитают пропускать токены и устанавливать короткое время обновления. Выберите наиболее подходящий вариант для вашего проекта в каждом случае – pedrofb
Я вижу вашу точку. Но чтобы проверить токен, вам все равно придется делать запрос к вашему черному списку, поэтому я не думаю, что моя альтернатива была бы преступлением: D Большое спасибо, я подумаю об этом, но хорошо знать, что это приемлемо. –