Сценарий. Вызов веб-API веб-ПРИЛОЖЕНИЯ (серверного приложения)
Узнайте, как создать пользователей, прошедших вход в веб-приложение, прошедших проверку подлинности AD FS 2019 и получать маркеры с помощью библиотеки MSAL для вызова веб-API.
Перед чтением этой статьи необходимо ознакомиться с понятиями AD FS и потоком предоставления кода авторизации.
Обзор
В этом потоке вы добавляете проверку подлинности в веб-приложение (серверное приложение), которое, следовательно, может выполнять вход пользователей и вызывать веб-API. В веб-приложении для вызова веб-API используйте метод получения маркера получения маркера MSAL в MsALByAuthorizationCode. Вы используете поток кода авторизации, сохраняя полученный маркер в кэше маркеров. Затем контроллер автоматически получает маркеры из кэша при необходимости. MSAL обновляет маркер, если это необходимо.
веб-приложения, вызывающие веб-API:
- являются конфиденциальными клиентскими приложениями.
- зарегистрировал секрет (общий секрет приложения, сертификат или учетную запись AD) в AD FS. Этот секрет передается во время вызова AD FS для получения маркера.
Чтобы зарегистрировать веб-приложение в AD FS и настроить его для получения маркеров для вызова веб-API, давайте рассмотрим пример, доступный здесь , и рассмотрим шаги по регистрации и настройке кода приложения.
Предварительные требования
- Клиентские средства GitHub
- AD FS 2019 или более поздней версии, настроенные и запущенные
- Visual Studio 2013 или более поздней версии
Регистрация приложений в AD FS
В этом разделе показано, как зарегистрировать веб-приложение в качестве конфиденциального клиента и веб-API в качестве проверяющей стороны (RP) в AD FS.
В разделе "Управление AD FS" щелкните Группы приложений правой кнопкой мыши и выберите Добавить группу приложений.
В мастере группы приложений введите имя WebAppToWebApi и в разделе "Клиентские серверные приложения" выберите серверное приложение, обращающееся к шаблону веб-API. Нажмите кнопку Далее.
Скопируйте значение идентификатора клиента. Значение будет использоваться позже в качестве значения ida:ClientId в файле web.config приложений. Введите следующий код ресурса (URI перенаправления):https://localhost:44326. Нажмите кнопку Добавить. Нажмите кнопку Далее.
На экране "Настройка учетных данных приложения" поместите флажок "Создать общий секрет " и скопируйте секрет. Этот секрет используется позже в качестве значения для ida:ClientSecret в файле конфигурации приложений Web.config . Нажмите кнопку Далее.
На экране "Настройка веб-API" введите идентификатор:https://webapi. Нажмите кнопку Добавить. Нажмите кнопку Далее. Это значение используется позже для ida:GraphResourceId в файле конфигурации приложений Web.config .
На экране "Применить контроль доступа политика" нажмите кнопку "Разрешить всем" и нажмите кнопку "Далее".
На экране "Настройка разрешений приложения" убедитесь, что выбран открытый идентификатор и user_impersonation и нажмите кнопку "Далее".
На экране "Сводка" нажмите кнопку "Далее".
На экране "Завершить" нажмите кнопку "Закрыть".
Конфигурация кода
В этом разделе показано, как настроить ASP.NET веб-приложение для входа пользователя и получения маркера для вызова веб-API
Скачайте пример из этой страницы
Открытие примера с помощью Visual Studio
Откройте файл web.config. Измените следующее:
ida:ClientId
— введите значение идентификатора клиента из #3 в разделе "Регистрация приложений" в разделе AD FS.ida:ClientSecret
— введите значение секрета из #4 в разделе "Регистрация приложений" в разделе AD FS.ida:RedirectUri
— введите значение URI перенаправления из #3 в разделе "Регистрация приложений" в разделе AD FS.ida:Authority
— введите https://[имя узла AD FS]/adfs. Пример: https://adfs.contoso.com/adfs.ida:Resource
— введите значение идентификатора из #5 в разделе "Регистрация приложений" в разделе AD FS.
Тестирование примера
В этом разделе показано, как протестировать настроенный образец.
После внесения изменений кода в решение будет выполнено перестроение.
В верхней части Visual Studio убедитесь, что Internet Explorer выбран и щелкните зеленую стрелку.
На домашней странице щелкните вход.
Вы будете перенаправляться на страницу входа AD FS. Выполните вход.
После входа щелкните маркер доступа.
Щелкнув маркер доступа, получите сведения о маркере доступа, вызвав веб-API.
Next Steps
Подключения AD FS OpenID или потоки OAuth и сценарии использования приложений