Я використовую маркери JWT у заголовках HTTP для автентифікації запитів на сервері ресурсів. Сервер ресурсів і сервер auth - це дві окремі робочі ролі в Azure.
Я не можу вирішити, чи варто зберігати претензії в токені чи додавати їх до запиту / відповіді іншим способом. Список претензій впливає на надання елементів інтерфейсу на стороні клієнта, а також на доступ до даних на сервері. З цієї причини я хочу переконатися, що претензії, отримані сервером, є автентичними та перевіреними перед обробкою запиту.
Прикладами претензій є: CanEditProductList, CanEditShopDescription, CanReadUserDetails.
Причини, за які я хочу використовувати для них маркер JWT:
- Кращий захист від редагування претензій на стороні клієнта (тобто злому списку претензій).
- Не потрібно шукати претензії на кожен запит.
Причини, за якими я не хочу використовувати маркер JWT:
- Тоді авторський сервер повинен знати список претензій, орієнтованих на додаток.
- Маркер стає єдиною точкою входу.
- Я прочитав кілька речей, які говорять про те, що маркери JWT не призначені для даних на рівні додатків.
Мені здається, що в обох є недоліки, але я схиляюся до включення цих претензій в токен і просто хочу це зробити людьми, які мали справу з цим раніше.
ПРИМІТКА. Я буду використовувати HTTPS для всіх запитів API, тому мені здається, що маркер буде безпечним "достатньо". Я використовую AngularJS, C #, Web API 2 та MVC5.