2015-03-24 3 views
1

Я использую jwt с NodeJS для моего токена аутентификации. В настоящее время я подписываю аудиторию, IP и клиента на полезную нагрузку.Какая информация для входа в токен аутентификации

Я также помещаю guid пользователя в полезную нагрузку, чтобы в последующих запросах я мог найти пользователя, используя guid; пример guid: bd262477-8b93-4f2c-9dc9-175edf6e0d14.

Неужели это плохо или проблема безопасности? Я предполагаю, что я спрашиваю, какую информацию вы должны положить на полезную нагрузку? Есть guid хорошо или плохо?

Может ли кто-нибудь предоставить мне ссылку, которая объясняет, почему (или почему нет) существует проблема безопасности того, что вы включаете в токен?

ответ

1

Весь токен должен быть подписан, защищая все претензии в корпусе маркера.

Относительно того, что вы можете надежно положить в токен: это зависит от того, где жетоны будут храниться «в покое». Но, вообще говоря, вы не должны помещать конфиденциальную информацию в токен, если вы не собираетесь шифровать токен (шифрование - это второй шаг, в дополнение к подписанию)

Я работаю в Stormpath, и у нас есть несколько статей по теме :

Use JWT the Right Way!

Where to Store Your JWTs - Cookies vs HTML5 Web Storage

Token Based Authentication for Single Page Apps (SPAs)

Надеется, что это помогает!

+0

Спасибо за ссылки, я дам им прочитать. Так что, если я должен поставить пользователь 'guid' (а не' id'), это проблема безопасности? Я делаю это так, чтобы при последующих запросах я мог выяснить, какой пользователь делает вызов. Кроме того, я могу хранить токен в БД вместе с любой идентифицируемой информацией, которая мне может понадобиться. На каждом вызове я читаю токен, нахожу запрос в БД и оттуда оттуда. Какой подход лучше? – Kousha

+0

Ввод идентификатора пользователя в токен полностью прекрасен, если он непрозрачен (на самом деле он ничего не говорит о пользователе), и он достаточно случайный (другими словами, а не прирост числа на пользователя). Кроме того: соглашение JWT должно использовать требование 'sub' для этого идентификатора, ака« субъект »токена – robertjd

+0

Идеально, спасибо за информацию. Да, я использую guid для «id», который является случайной строкой! – Kousha

Смежные вопросы