Включение личных данных в JWT - PullRequest
0 голосов
/ 01 февраля 2019

Каков наилучший способ включения сведений о пользователе в заголовки авторизации JWT?Должен ли JWT включать в себя данные пользователя, такие как имя, номер мобильного телефона и адрес электронной почты, или их следует запрашивать в бэкэнд-сервисе?

Какие факторы следует учитывать перед принятием решения о том, какие детали следует включить в полезную нагрузку JWT?

1 Ответ

0 голосов
/ 01 февраля 2019

Это зависит от того, как спроектирован ваш бэкэнд.

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

Если у вас более сложная структура разрешений, я бы также сохранил роль разрешений для jwt, тогда вы можете легко проверить, авторизован ли пользователь для доступа к этому маршруту.и так далее.

Это довольно распространенный ответ, в конце концов, вы должны решить, что вам нужно в вашем токене.

Есть еще одна вещь (я думаю, вы уже знаете это): не храните пароль пользователя в токене.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...