Удивительное рядом: JWT misuse
От: Sinclair Россия https://github.com/evilguest/
Дата: 25.11.19 05:32
Оценка: 3 (1)
Джентльмены, сегодня передо мной открылись новые бездны.
Просматривал тут один API, разработанный моими коллегами. Всё по фен-шую: REST, JSON, всё как надо.
Авторизация, понятное дело, через JWT. Возник вопрос про сроки годности токенов.
Дай-ка, думаю, гляну, что у них там в токенах приезжает.
Открыл через JWT.io — смотрю, точно, есть атрибут exp.
А кроме него — мамочка дорогая! Юзернейм и пароль в открытом виде.

Ну, думаю, надо лечить. Понятное дело, частное мнение одного продукт менеджера — фигня, надо какой-то авторитетный источник найти.
Начинаю гуглить.
Первое, что нашёл — https://medium.com/@maison.moa/using-jwt-json-web-tokens-to-authorize-users-and-protect-api-routes-3e04a1453c3e
Что у нас там?
Долбанько на марше: кладём в токен всего пользователя, вместе с именем и паролем.
Долбанько на марше 2: "верификация" токена сводится к вырезанию из заголовка Authorization всего, что после 'Bearer '. И, собсна, усё.

Ищу на SO — находим https://stackoverflow.com/questions/42652695/is-it-ok-to-store-user-credentials-in-the-jwt

Опять примерно то же самое: "вроде бы не стоит передавать пароль" — "нет, ну а как тогда проверять???" — "ну, есть же и другие способы, без паролей".

Какая-то массовая идиотия.

Буду благодарен за ссылку на нормальный тьюториал по JWT, где будет внятно сказано, что НЕЛЬЗЯ передавать пароли в токене, и показано, как НА САМОМ деле проверяется токен.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.