Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Узнайте, как создать веб-приложение, осуществляющее вход пользователей, прошедших проверку подлинности через AD FS 2019, и как получать токены с помощью библиотеки MSAL для вызова веб-API.
Перед чтением этой статьи необходимо ознакомиться с понятиями AD FS и потоком предоставления кода авторизации.
Overview
В этом потоке вы добавляете проверку подлинности в веб-приложение (серверное приложение), которое, следовательно, может выполнять вход пользователей и вызывать веб-API. Из веб-приложения для вызова веб-API используйте метод AcquireTokenByAuthorizationCode из MSAL для получения токена. Вы используете поток авторизации по коду, сохраняя полученный токен в кэше токенов. Затем контроллер втихомолку получает токены из кэша при необходимости. MSAL обновляет токен, если это необходимо.
веб-приложения, вызывающие веб-API:
- являются конфиденциальными клиентскими приложениями.
- зарегистрировал секрет (общий секрет приложения, сертификат или учетную запись AD) в AD FS. Этот секрет передаётся во время вызова к AD FS для получения токена.
Чтобы зарегистрировать веб-приложение в AD FS и настроить его для получения маркеров для вызова веб-API, давайте рассмотрим пример, доступный здесь , и рассмотрим шаги по регистрации и настройке кода приложения.
Pre-requisites
- Клиентские средства 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
— в разделе "Регистрация приложений" в AD FS введите значение Secret из пункта №4.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.
Дальнейшие шаги
Потоки AD FS OpenID Connect/OAuth и сценарии использования приложений