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


Включение собственных клиентских приложений для взаимодействия с приложениями прокси

Прокси приложения Microsoft Entra используется для публикации веб-приложений. Его также можно использовать для публикации собственных клиентских приложений, настроенных с помощью библиотеки проверки подлинности Майкрософт (MSAL). Клиентские приложения отличаются от веб-приложений, так как они установлены на устройстве, а веб-приложения доступны через браузер.

Для поддержки собственных клиентских приложений прокси приложения принимает маркеры, выданные идентификатором Microsoft Entra, которые отправляются в заголовке. Служба прокси приложения выполняет проверку подлинности для пользователей. Это решение не использует маркеры приложения для проверки подлинности.

Связь между конечными пользователями, идентификатором Microsoft Entra и опубликованными приложениями

Для публикации собственных приложений используйте библиотеку аутентификации Майкрософт, которая отвечает за аутентификацию и поддерживает многие клиентские среды. Прокси приложения помещается в классическое приложение, которое вызывает веб-API от имени вошедшего пользователя .

В этой статье описано, как опубликовать собственное приложение с помощью прокси приложения и библиотеки проверки подлинности Майкрософт (MSAL).

Шаг 1. Публикация прокси-приложения

Опубликуйте приложение прокси, как любое другое приложение, и назначьте пользователей, имеющих доступ к вашему приложению. Дополнительные сведения см. в статье "Публикация приложений с помощью прокси приложения".

Шаг 2. Регистрация собственного приложения

Теперь необходимо зарегистрировать приложение в идентификаторе Microsoft Entra.

  1. Войдите в Центр администрирования Microsoft Entra как минимум администратор приложений.

  2. В правом верхнем углу выберите свое имя пользователя. Убедитесь, что вы вошли в каталог, использующий прокси приложения. Если необходимо изменить каталоги, выберите "Переключить каталог " и выберите каталог, использующий прокси приложения.

  3. Перейдите к приложениям> удостоверений>Регистрация приложений. Отобразится список всех зарегистрированных приложений.

  4. Выберите Создать регистрацию. Появится страница Регистрация приложения.

    Создание регистрации приложения в Центре администрирования Microsoft Entra

  5. В заголовке Имя укажите отображаемое имя пользователя для приложения.

  6. В разделе "Поддерживаемые типы учетных записей" выберите уровень доступа с помощью этих рекомендаций.

    • Чтобы выбрать только те учетные записи, которые являются внутренними для вашей организации, выберите Учетные записи только в этом каталоге организации.
    • Чтобы выбрать только предприятия или учебные заведения, выберите Учетные записи в любом каталоге организации.
    • Чтобы охватить максимально широкий набор клиентов, выберите Учетные записи в любом каталоге организации и личные учетные записи Майкрософт.
  7. В разделе Универсальный код ресурса (URI) перенаправления выберите Общедоступный клиент (мобильный и классический), а затем введите код URI перенаправления https://login.microsoftonline.com/common/oauth2/nativeclient для приложения.

  8. Выберите и прочтите политики платформы Майкрософт, а затем выберите Зарегистрировать. После этого появится страница со сведениями о новой регистрации приложения.

Дополнительные сведения о создании регистрации приложений см. в разделе "Интеграция приложений с идентификатором Записи Майкрософт".

Шаг 3. Предоставление доступа к прокси-приложению

Зарегистрировано собственное приложение. Предоставьте ему доступ к прокси-приложению:

  1. На боковой панели страницы регистрации нового приложения выберите Разрешения API. Откроется страница Разрешения API для новой регистрации приложения.
  2. Выберите Добавить разрешение. Откроется страница Запрос разрешений API.
  3. В разделе Выберите API выберите Интерфейсы API, используемые моей организацией. Появится список приложений в каталоге, которые предоставляют интерфейсы API.
  4. Введите поле поиска или прокрутите страницу, чтобы найти прокси-приложение, опубликованное на шаге 1. Публикация прокси-приложения и выбор прокси-приложения.
  5. В заголовке Какие разрешения требуются вашему приложению? выберите тип разрешения. Если собственному приложению требуется доступ к API приложения прокси в качестве пользователя, выполнившего вход, выберите Делегированные разрешения.
  6. В заголовке Выберите разрешения выберите нужное разрешение и Добавить разрешения. На страницеРазрешения API для собственного приложения теперь отображается добавленное приложение прокси и API разрешения.

Шаг 4. Добавление библиотеки проверки подлинности Майкрософт в код (пример .NET C#)

Измените код собственного приложения с учетом проверки подлинности с помощью библиотеки MSAL. Для этого включите в код следующий текст:

// Acquire access token from Microsoft Entra ID for proxy application
IPublicClientApplication clientApp = PublicClientApplicationBuilder
.Create(<App ID of the Native app>)
.WithDefaultRedirectUri() // will automatically use the default Uri for native app
.WithAuthority("https://login.microsoftonline.com/{<Tenant ID>}")
.Build();

AuthenticationResult authResult = null;
var accounts = await clientApp.GetAccountsAsync();
IAccount account = accounts.FirstOrDefault();

IEnumerable<string> scopes = new string[] {"<Scope>"};

try
 {
    authResult = await clientApp.AcquireTokenSilent(scopes, account).ExecuteAsync();
 }
    catch (MsalUiRequiredException ex)
 {
     authResult = await clientApp.AcquireTokenInteractive(scopes).ExecuteAsync();                
 }

if (authResult != null)
 {
  //Use the Access Token to access the Proxy Application

  HttpClient httpClient = new HttpClient();
  httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken);
  HttpResponseMessage response = await httpClient.GetAsync("<Proxy App Url>");
 }

Требуемые сведения в примере кода можно найти в Центре администрирования Microsoft Entra следующим образом:

Требуемые сведения Как найти его в Центре администрирования Microsoft Entra
<Идентификатор клиента> Свойства обзора>удостоверений>
<ИД приложения для собственного приложения> Регистрация приложений>ваше собственное приложение>Обзор>ИД приложения
<Область применения> Регистрация>приложения в собственном API приложения>выбирается в API разрешений> (user_impersonation) > Панель с заголовком user_impersonation отображается справа. > Область является URL-адресом в поле ввода.
<URL-адрес приложения прокси> Внешний URL-адрес и путь к API

После изменения кода MSAL с этими параметрами пользователи могут проходить проверку подлинности в собственных клиентских приложениях, даже если они находятся за пределами корпоративной сети.

Следующие шаги

Дополнительные сведения о собственном потоке приложений см . в мобильных и классических приложениях в идентификаторе Microsoft Entra.

Сведения о настройке единого входа в приложения в идентификаторе Microsoft Entra.