Я новичок в. Net, поэтому я изо всех сил пытаюсь понять, как подойти к машине 2: аутентификация и авторизация машины. Вот что я пытаюсь сделать.
У нас есть библиотека, которая будет вызывать API для ресурса, но вызов должен быть авторизован, поэтому есть и IS4. Каждая часть представляет собой отдельный проект в решении и выполняется в Docker. Мы бы хотели, чтобы библиотека предоставляла ключ API при каждом запросе к API в заголовке Authorization
. Тогда мы бы хотели, чтобы API проверил на
- Ключ API действителен
- Ключ API принадлежит пользователю с правильным набором утверждений и / или областей действия
Если все в порядке, примите входящий запрос или отправьте 401 Unauthorized
в противном случае.
Мы пытаемся сделать это с IS4, потому что в будущем мы хотели бы использовать такие функции, как Single Sing- Включение, делегирование и т. Д. c.
Этот м2м является первым шагом, и хотя он выглядит простым, нам трудно его заставить работать.
По умолчанию для связи м2м требуется ClientCredentials
Тип гранта в IS4. Но для его использования требуется 2 шага: сделать запрос на токен доступа и затем использовать этот токен доступа для доступа к ресурсу API.
Для получения токена доступа требуется предоставить ClientId
, ClientSecret
и Scope
, но вместо этого мы хотим использовать один ключ API.
Можно ли как-то обернуть эти две вещи вместе?