Я использую IdentityServer3 в качестве сервера авторизации в своей архитектуре.Претензии к JWT против преобразования требований в ресурсе
У меня есть ресурс API, который я предоставляю своим клиентам (веб-приложение и приложение для iOS) доступ через область ресурсов.
Вопрос 1: Если я хочу сделать на основе утверждений авторизации на моем API (например, требование называется CanViewQuestions
, что только некоторые пользователи), должны я:
а) Использование IdentityServer, например, во время если у пользователя есть это требование и добавить его в JWT
b) Просто поместите объект (например, userId) в JWT и посмотрите, что в API и выполните преобразование претензий?
В настоящее время я делаю b), но задаюсь вопросом, должно ли это быть выполнено сервером авторизации (например, IdSrv)?
Какой рекомендуемый подход?
Вопрос 2
Если у меня есть фоновая служба (Azure работник специально), что я хочу также предоставить доступ к своему API ресурсу, я могу использовать учетные данные клиента потока, чтобы дать этой услуге маркер доступа. Но тогда как я могу дать эту услугу ту же претензию выше (CanViewQuestions
)? В основном я хочу, чтобы мой API обеспечивал, чтобы данный ресурс требовал претензии CanViewQuestions
, но мне все равно, является ли клиент веб-приложением (например, конечным пользователем) или клиентом (без конечного пользователя). Если у запрашивающего есть требование, хорошо идти.
я буду иметь, чтобы:
а) использование на основе утверждений преобразования, чтобы увидеть, если клиент службы, а затем просто добавить все претензии?
б) Вставить претензии в JWT (хотя я читал учетные данные клиента поток не поддерживает требования)
с) Что-то еще?
Большое спасибо!