Удивительное рядом: 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, где будет внятно сказано, что НЕЛЬЗЯ передавать пароли в токене, и показано, как НА САМОМ деле проверяется токен.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Удивительное рядом: JWT misuse
От: Doom100500 Израиль  
Дата: 25.11.19 06:07
Оценка: 123 (3)
Здравствуйте, Sinclair, Вы писали:


S>Буду благодарен за ссылку на нормальный тьюториал по JWT, где будет внятно сказано, что НЕЛЬЗЯ передавать пароли в токене, и показано, как НА САМОМ деле проверяется токен.


https://auth0.com/resources/ebooks/jwt-handbook

Просят мыло, потом спамят, но не много, а так бесплатно
Спасибо за внимание
Re: Удивительное рядом: JWT misuse
От: BlackEric http://black-eric.lj.ru
Дата: 26.11.19 07:08
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Буду благодарен за ссылку на нормальный тьюториал по JWT, где будет внятно сказано, что НЕЛЬЗЯ передавать пароли в токене, и показано, как НА САМОМ деле проверяется токен.


Но это же очевидно что открытый пароль передавать нельзя нигде и никак.
Если говорить про dotnet, то есть IdentityServer и к нему куча примеров разной степени навороченности.
https://github.com/BlackEric001
Re: Удивительное рядом: JWT misuse
От: Ватакуси Россия  
Дата: 21.12.19 13:45
Оценка:
S>Буду благодарен за ссылку на нормальный тьюториал по JWT, где будет внятно сказано, что НЕЛЬЗЯ передавать пароли в токене, и показано, как НА САМОМ деле проверяется токен.

https://www.smashingmagazine.com/2017/11/safe-password-resets-with-json-web-tokens/
Все будет Украина!
Re: Удивительное рядом: JWT misuse
От: Somescout  
Дата: 21.12.19 14:34
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Ну, думаю, надо лечить. Понятное дело, частное мнение одного продукт менеджера — фигня, надо какой-то авторитетный источник найти.

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

Не совсем понял чем вам не понравилась статья: верификация не сводится к "вырезанию всего что после Bearer" — Authorization, собственно, идёт в таком формате:
Authorization: Bearer <jwt-token>

Соответственно вырезается jwt-токен и отдаётся на проверку в функцию jwt.verify, как и должно быть.
ARI ARI ARI... Arrivederci!
Re: Удивительное рядом: JWT misuse
От: scf  
Дата: 31.01.20 06:47
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Буду благодарен за ссылку на нормальный тьюториал по JWT, где будет внятно сказано, что НЕЛЬЗЯ передавать пароли в токене, и показано, как НА САМОМ деле проверяется токен.


https://tools.ietf.org/html/rfc7519
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.