У меня на рабочем месте есть реализация Identity Server 4.0.Помимо потоков неявного и аутентификационного кода, мы планируем использовать поток учетных данных клиента для аутентификации вызовов API-интерфейса.
Существует немного API, которым необходимо вести журнал того, кто его вызвал (имя вызывающего API).).Я много копал, но не смог найти убедительного (и безопасного) способа сделать это.
В моем понимании, в потоке Client Cred клиент собирается в IDS только с секретом клиента.И, очевидно, это сделает практически невозможным для IDS узнать, кто его вызывает.Я прав?Есть ли способ узнать клиента (чтобы можно было добавить в токен некоторые утверждения id)?
Любые предложения приветствуются.
РЕДАКТИРОВАТЬ: Вуточнить мой вопрос и лучше объяснить мое понимание этого конкретного потока OAuth :
Хорошо, поэтому позвольте мне быть ясным.Допустим, API X должен вызывать API Y.
Это следует следующему порядку: (1) X переходит к IDS с Client-Id и Client-Secret для Y. (2) IDS проверяет Client-Idи Secret и выдает токен доступа к X (3) X вызывает Y с данным токеном доступа
На шаге (2) выше, согласно потоку учетных данных клиента OAuth 2.0, нет ничего, кроме Client-ID и Client-Secret, которые X должен предоставить.Теперь, если API Z хочет общаться с Y, он собирается перейти на IDS с тем же Client-ID и тем же секретом.
Если IDS не может определить, является ли вызов аутентификации из X или Z, как он может добавить какие-либо дополнительные претензии в выданный токен?
Так что единственный другой способ узнать Yесли вызов сделан из X или Z, то X или Z сообщают себе (в заголовке, URL или почтовых данных), кто они (что делает недействительной всю цель авторизации через поток клиент-кредит).Помните, что мой вопрос не говорит об аутентификации.