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