Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Прокси приложения Microsoft Entra используется для публикации веб-приложений. Его также можно использовать для публикации собственных клиентских приложений, настроенных с помощью библиотеки проверки подлинности Майкрософт (MSAL). Клиентские приложения отличаются от веб-приложений, так как они установлены на устройстве, а веб-приложения доступны через браузер.
Для поддержки собственных клиентских приложений прокси приложения принимает токены, выдаваемые идентификацией Microsoft Entra и отправляемые в заголовке. Служба прокси приложения выполняет проверку подлинности для пользователей. Это решение не использует маркеры приложения для проверки подлинности.
Для публикации собственных приложений используйте библиотеку аутентификации Майкрософт, которая отвечает за аутентификацию и поддерживает многие клиентские среды. Прокси приложения подходит для сценария настольного приложения, которое вызывает веб-API от имени авторизованного пользователя.
В этой статье описано, как опубликовать собственное приложение с помощью прокси приложения и библиотеки проверки подлинности Майкрософт (MSAL).
Шаг 1. Публикация прокси-приложения
Опубликуйте приложение прокси, как любое другое приложение, и назначьте пользователей, имеющих доступ к вашему приложению. Дополнительные сведения см. в статье "Публикация приложений с помощью прокси приложения".
Шаг 2. Регистрация собственного приложения
Теперь необходимо зарегистрировать приложение в идентификаторе Microsoft Entra.
Войдите в Центр администрирования Microsoft Entra как минимум администратор приложений.
В правом верхнем углу выберите свое имя пользователя. Убедитесь, что вы вошли в каталог, использующий прокси приложения. Если необходимо изменить каталоги, выберите "Переключить каталог " и выберите каталог, использующий прокси приложения.
Перейдите к Entra ID>Регистрация приложений. Отобразится список всех зарегистрированных приложений.
Выберите "Создать регистрацию". Откроется страница регистрации приложения .
В заголовке "Имя" укажите отображаемое имя для приложения.
В разделе " Поддерживаемые типы учетных записей " выберите уровень доступа с помощью этих рекомендаций.
- Чтобы использовать только учетные записи, внутренние для вашей организации, выберите только учетные записи в этом каталоге организации.
- Чтобы выбрать только бизнес-или образовательных клиентов, выберите учетные записи в любом каталоге организации.
- Чтобы выбрать самый широкий спектр учетных записей Microsoft, выберите учетные записи в любом организационном каталоге и личные учетные записи Microsoft.
В разделе URI перенаправления выберите публичный клиент (мобильные и рабочие столы), затем введите URI перенаправления
https://login.microsoftonline.com/common/oauth2/nativeclient
для вашего приложения.Выберите и прочитайте политики платформы Майкрософт, а затем нажмите кнопку "Регистрация". Создана и отображается страница обзора для новой регистрации приложения.
Для получения более подробной информации о создании регистрации нового приложения см. в разделе «Интеграция приложений с Microsoft Entra ID».
Шаг 3. Предоставление доступа к прокси-приложению
Ваше родное приложение зарегистрировано. Предоставьте ему доступ к прокси-приложению:
- На боковой панели новой страницы регистрации приложения выберите разрешения API. Откроется страница разрешений API для новой регистрации приложения.
- Выберите "Добавить разрешение". Откроется страница разрешений API запроса .
- В разделе "Выбор параметра API" выберите API, которые использует моя организация. Появится список приложений в каталоге, которые предоставляют интерфейсы API.
- Введите поле поиска или прокрутите страницу, чтобы найти прокси-приложение, опубликованное на шаге 1. Публикация прокси-приложения и выбор прокси-приложения.
- В заголовке "Какой тип разрешений требует ваше приложение?" выберите тип разрешения. Если собственное приложение должно получить доступ к API прокси-приложения в качестве пользователя, вошедшего в систему, выберите делегированные разрешения.
- В заголовке "Выбор разрешений " выберите требуемое разрешение и нажмите кнопку "Добавить разрешения". На странице разрешений 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 |
---|---|
<Идентификатор клиента> | Entra ID>Обзор>Свойства |
<ИД приложения нативного приложения> | Регистрация> приложениясобственное приложение>Обзор>Идентификатор приложения |
<Область применения> | Регистрация приложения>ваше встроенное приложение>Разрешения API> выберите API разрешений (user_impersonation) > Панель с заголовком user_impersonation появляется справа. > Область применения — это URL-адрес в поле ввода. |
<URL-адрес приложения прокси> | Внешний URL-адрес и путь к API |
После изменения кода MSAL с этими параметрами пользователи могут проходить проверку подлинности в собственных клиентских приложениях, даже если они находятся за пределами корпоративной сети.
Следующие шаги
Дополнительные сведения о нативном потоке приложений см. в мобильных и десктопных приложениях в Microsoft Entra ID.
Узнайте о настройке единого входа в приложения с Microsoft Entra ID.