Я использую токены JWT в заголовках HTTP для аутентификации запросов к серверу ресурсов. Сервер ресурсов и сервер аутентификации - это две отдельные рабочие роли в Azure.
Я не могу определиться, стоит ли мне сохранять заявки в токене или прикреплять их к запросу / ответу каким-либо другим способом. Список утверждений влияет на отображение элементов пользовательского интерфейса на стороне клиента, а также на доступ к данным на сервере. По этой причине я хочу убедиться, что заявки, полученные сервером, являются подлинными и проверены перед обработкой запроса.
Примеры заявлений: CanEditProductList, CanEditShopDescription, CanReadUserDetails.
Причины, по которым я хочу использовать для них токен JWT:
- Лучшая защита от редактирования претензий на стороне клиента (например, взлом списка претензий).
- Не нужно искать претензии по каждому запросу.
Причины, по которым я не хочу использовать токен JWT:
- Сервер аутентификации должен знать список заявок, ориентированный на приложения.
- Токен становится единственной точкой взлома.
- Я читал несколько вещей о том, что токены JWT не предназначены для данных уровня приложения.
Мне кажется, что у обоих есть недостатки, но я склоняюсь к включению этих утверждений в маркер и просто хочу запустить это людьми, которые имели дело с этим раньше.
ПРИМЕЧАНИЕ. Я буду использовать HTTPS для всех запросов API, поэтому мне кажется, что токен будет «достаточно безопасным». Я использую AngularJS, C #, Web API 2 и MVC5.