Поделиться через


Сценарий. Вызов веб-API веб-ПРИЛОЖЕНИЯ (серверного приложения)

Узнайте, как создать пользователей, прошедших вход в веб-приложение, прошедших проверку подлинности AD FS 2019 и получать маркеры с помощью библиотеки MSAL для вызова веб-API.

Перед чтением этой статьи необходимо ознакомиться с понятиями AD FS и потоком предоставления кода авторизации.

Обзор

Общие сведения о вызове веб-API веб-приложения

В этом потоке вы добавляете проверку подлинности в веб-приложение (серверное приложение), которое, следовательно, может выполнять вход пользователей и вызывать веб-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.

  1. В разделе "Управление AD FS" щелкните Группы приложений правой кнопкой мыши и выберите Добавить группу приложений.

  2. В мастере группы приложений введите имя WebAppToWebApi и в разделе "Клиентские серверные приложения" выберите серверное приложение, обращающееся к шаблону веб-API. Нажмите кнопку Далее.

    Снимок экрана: страница приветствия мастера добавления группы приложений с выделенным приложением сервера, обращающееся к выделенному шаблону P P.

  3. Скопируйте значение идентификатора клиента. Значение будет использоваться позже в качестве значения ida:ClientId в файле web.config приложений. Введите следующий код ресурса (URI перенаправления):https://localhost:44326. Нажмите кнопку Добавить. Нажмите кнопку Далее.

    Снимок экрана: страница приложения сервера мастера добавления группы приложений с правильным идентификатором клиента и перенаправлением U R I.

  4. На экране "Настройка учетных данных приложения" поместите флажок "Создать общий секрет " и скопируйте секрет. Этот секрет используется позже в качестве значения для ida:ClientSecret в файле конфигурации приложений Web.config . Нажмите кнопку Далее.

    Снимок экрана: страница приложения

  5. На экране "Настройка веб-API" введите идентификатор:https://webapi. Нажмите кнопку Добавить. Нажмите кнопку Далее. Это значение используется позже для ida:GraphResourceId в файле конфигурации приложений Web.config .

    Снимок экрана: страница

  6. На экране "Применить контроль доступа политика" нажмите кнопку "Разрешить всем" и нажмите кнопку "Далее".

    Снимок экрана: страница

  7. На экране "Настройка разрешений приложения" убедитесь, что выбран открытый идентификатор и user_impersonation и нажмите кнопку "Далее".

    Снимок экрана: страница

  8. На экране "Сводка" нажмите кнопку "Далее".

  9. На экране "Завершить" нажмите кнопку "Закрыть".

Конфигурация кода

В этом разделе показано, как настроить ASP.NET веб-приложение для входа пользователя и получения маркера для вызова веб-API

  1. Скачайте пример из этой страницы

  2. Открытие примера с помощью Visual Studio

  3. Откройте файл 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.

      Снимок экрана: файл веб-конфигурации с измененными значениями.

Тестирование примера

В этом разделе показано, как протестировать настроенный образец.

  1. После внесения изменений кода в решение будет выполнено перестроение.

  2. В верхней части Visual Studio убедитесь, что Internet Explorer выбран и щелкните зеленую стрелку.

    Снимок экрана: пользовательский интерфейс Visual Studio с параметром IIS Express (Internet Explorer).

  3. На домашней странице щелкните вход.

    Снимок экрана: домашняя страница с параметром входа.

  4. Вы будете перенаправляться на страницу входа AD FS. Выполните вход.

    Снимок экрана: страница входа.

  5. После входа щелкните маркер доступа.

    Снимок экрана: домашняя страница с параметром маркера доступа.

  6. Щелкнув маркер доступа, получите сведения о маркере доступа, вызвав веб-API.

    Снимок экрана: страница маркера доступа с информацией о маркере доступа.

Next Steps

Подключения AD FS OpenID или потоки OAuth и сценарии использования приложений