2016-06-21 1 views
4

Я реализую API без проверки состояния через Json Web Tokens (JWT). На данный момент мне интересно, какой лучший способ передать пользовательские данные на передний план. Те поля, которые мне нужно будет, чтобы получить доступ на переднем конце username, email, role, full_name, description, profile_img, facebook_id, twitter_id, custom_setting_1, custom_setting_2, custom_setting_3, custom_setting_4Лучшая практика обработки пользовательских данных с помощью JWT

Есть 2 варианта, которые я вижу:

  1. Во время создания JWT добавить пользовательские данные полезной нагрузки JWT. А затем расшифруйте его на переднем конце. Хотя я волнуюсь, если я добавлю все данные, что полезная нагрузка станет довольно большой.
  2. Я могу добавить в JWT только неизменяемые поля, такие как username, role. После создания и возврата JWT в интерфейсный модуль я отправляю другой запрос для пользовательских данных из API.

Возможно, что-то здесь тоже отсутствует. Так что интересно, какой лучший подход обрабатывает пользовательские данные с помощью JWT.

+0

Я пытаюсь выяснить, почему вам нужно JWT для этого. Простой JSON недостаточно? –

+0

JWT будет использоваться для аутентификации вызовов API. Поэтому на самом деле должен я добавить пользовательские данные в JWT (есть ли какие-либо плюсы/минусы) или сохранить дополнительный запрос API для получения пользовательских данных. – Websirnik

+0

Пожалуйста, дайте мне знать, если бы мой ответ был полезен для вас. –

ответ

1

Как только вы используете JWT для аутентификации (я понимаю, ваш сервер генерирует токен аутентификации, который клиент должен отправлять на сервер в каждом запросе), нет смысла включать все эти детали в токен.

Вашего второй подход имеет гораздо больше смысла:

я могу добавить только неизменяемые поля как username, role в JWT. После создания и возврата JWT в интерфейсный модуль я отправляю другой запрос для пользовательских данных из API.

Сохраните свой JWT и выполните другой запрос, чтобы получить информацию о пользователе.

Для получения дополнительной информации о том, как разработать URL, чтобы вернуть аутентифицированные данные пользователя, проверьте ниже:

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