Веб-служба Azure для веб-службы Azure проверяет подлинность запросов - PullRequest
0 голосов
/ 16 мая 2018

У меня есть приложение .NET Core Web API на основе Azure, которое я хочу связать с приложением MVC5 на основе Azure. Приложение MVC5 требует, чтобы его клиенты имели учетные данные в нашем экземпляре Azure AD. Мы подключаемся к этому приложению с помощью наших учетных данных Azure AD единого входа.

Приложение .NET Core не проходит проверку подлинности в Azure; для его потребителей нет возможности передачи учетных данных. НО ... он размещен в том же экземпляре Azure, поэтому мне кажется, что я должен быть в состоянии относительно легко отправить аутентифицированный запрос из веб-API в приложение MVC.

Документация по этому вопросу довольно запутанная. Говорят о сертификатах x.509 (это действительно не кажется необходимым), о грантах и ​​потоках OAuth 2.0 (я не могу обойти это, я не знаю) ... но есть ли некоторые простые, относительно " безмозглый "способ безопасного общения одного сервиса с другим без создания каких-либо сложных лесов и / или конфигурации? Я надеюсь, что есть способ просто создать экземпляр HttpClient или WebRequest, вызвать какой-то метод, чтобы получить правильный заголовок авторизации (или, может быть, cookie?), И отправить мой запрос на его веселый путь ... но если это существует, это остается неуловимым для меня.

Любое разъяснение этого было бы полезно, спасибо.

1 Ответ

0 голосов
/ 16 мая 2018

Этот вид зависит.Во-первых, чтобы было понятно, вы пытаетесь вызвать действие в приложении MVC из приложения API?Это кажется немного странным (чаще перед интерфейсом MVC может понадобиться вызвать API).В любом случае, оно должно быть таким же.

Вопрос: Вы хотите, чтобы ваше приложение API всегда вызывало приложение MVC как «само»?Итак, ваше приложение API будет иметь личность, которая авторизована для вызова действия в вашем приложении MVC?Если это так, то именно для этого предназначен поток учетных данных клиента OAuth:

https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-service-to-service

С помощью этого потока вы создаете регистрацию приложения Azure AD, которая представляет ваше приложение API.Затем во время выполнения ваше приложение API использует свой идентификатор клиента и секрет клиента для получения токена, который он может использовать для вызова приложения MVC (как правило, передается как токен-носитель в заголовке авторизации).Частью того, что вы можете сделать с регистрацией приложения, является предоставление ему делегированного доступа к вашему приложению MVC, но вы также можете управлять тем, «клиентам», которым вы хотите разрешить доступ в своем приложении MVC.

Надеюсь, это имеет смысл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...