Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо:
Арендаторы рабочей силы
Внешние арендаторы (узнать больше)
Прежде чем начать, используйте селектор Выбрать тип арендатора в верхней части этой страницы, чтобы выбрать тип арендатора. Microsoft Entra ID предоставляет две конфигурации клиента, рабочей среды и внешней среды. Конфигурация арендатора рабочей силы предназначена для ваших сотрудников, внутренних приложений и других организационных ресурсов. Внешний клиент предназначен для ваших клиентских приложений.
В этом руководстве показано, как настроить пример мобильного приложения для входа пользователей и вызвать веб-API ASP.NET Core.
Ниже перечислены действия, которые вы выполните в этой статье.
- Добавьте URL-адрес перенаправления платформы в веб-приложение.
- Включите общедоступные потоки клиентов.
- Обновите пример конфигурационного кода для Android, чтобы использовать ваш собственный внешний идентификатор Microsoft Entra для сведений о клиенте.
- Запустите и проверьте пример мобильного приложения Android.
- Вызов защищенного веб-API.
Предпосылки
Внешний арендатор. Если у вас еще нет пробной версии, зарегистрируйтесь на бесплатную пробную версию.
Зарегистрируйте новое клиентское веб-приложение в Центре администрирования Microsoft Entra, настроенное для учетных записей в любом каталоге организации и личных учетных записях Майкрософт. Дополнительные сведения см. в статье "Регистрация приложения ". Запишите следующие значения на странице обзора приложения для последующего использования:
- Идентификатор приложения (клиента)
- Идентификатор каталога (арендатора)
Регистрация веб-API, которая предоставляет по крайней мере одну область (делегированные разрешения) и одну роль приложения (разрешение приложения), например ToDoList.Read. Если вы еще не сделали этого, следуйте инструкциям по вызову API в примере мобильного приложения Android, чтобы иметь функциональный защищенный веб-API ASP.NET Core. Убедитесь, что выполните следующие действия.
- Настройка областей API
- Настройка ролей приложения
- Настройка необязательных утверждений
- Клонирование или скачивание примера веб-API
- Настройка и запуск примера веб-API
Добавить URL-адрес перенаправления платформы
Чтобы указать тип приложения для регистрации приложения, выполните следующие действия.
- В разделе Управление выберите Проверка подлинности.
- На странице конфигураций платформы выберите "Добавить платформу" и выберите вариант Android.
- Введите имя пакета проекта. Если вы скачали пример кода, это значение равно
com.azuresamples.msaldelegatedandroidkotlinsampleapp. - В разделе хэша подписи окна «Настройка приложения Android» выберите «Создать хэш подписи для разработки». Этот хэш будет меняться в зависимости от среды разработки. Скопируйте и выполните команду KeyTool для вашей операционной системы в терминале.
- Введите хэш подписи, созданный с помощью KeyTool.
- Выберите и настройте.
- Скопируйте конфигурацию MSAL из области конфигурации Android и сохраните ее для последующей настройки приложения.
- Нажмите кнопку Готово.
Включение публичного клиентского потока
Чтобы определить приложение как общедоступный клиент, выполните следующие действия.
В разделе Управление выберите Проверка подлинности.
В разделе "Дополнительные параметры" для параметра "Разрешить общедоступные потоки клиентов" нажмите кнопку "Да".
Выберите Сохранить, чтобы сохранить изменения.
Предоставление разрешений веб-API примерному приложению
После регистрации клиентского приложения, веб-API и предоставления API путем создания областей можно настроить разрешения клиента для API, выполнив следующие действия.
На странице регистрации приложений выберите созданное приложение (например, ciam-client-app), чтобы открыть страницу обзора .
В разделе Управление выберите Разрешения API.
В разделе Настроенные разрешения выберите Добавить разрешение.
Выберите вкладку API, которые использует моя организация.
В списке API выберите API, например ciam-ToDoList-api.
Выберите параметр "Делегированные разрешения ".
В списке разрешений выберите ToDoList.Read, ToDoList.ReadWrite (при необходимости используйте поле поиска).
Нажмите кнопку Add permissions (Добавить разрешения).
На этом этапе вы правильно задали разрешения. Тем не менее, поскольку арендатор является арендатором клиента, потребители-пользователи сами не могут согласиться с этими разрешениями. Чтобы устранить эту проблему, вы как администратор должны согласиться с этими разрешениями от имени всех пользователей в данном клиенте.
Выберите "Предоставить согласие администратора" для <имени> клиента, а затем нажмите кнопку "Да".
Выберите «Обновить», а затем убедитесь, что под < для обоих разрешений отображается Предоставлено для >имя вашего арендатора.
В списке настроенных разрешений выберите разрешения ToDoList.Read и ToDoList.ReadWrite по одному за раз, а затем скопируйте полный универсальный код ресурса (URI) разрешения для последующего использования. Полный URI разрешений выглядит примерно так же, как
api://{clientId}/{ToDoList.Read}илиapi://{clientId}/{ToDoList.ReadWrite}.
Клонирование примера мобильного приложения
Чтобы получить пример приложения, можно клонировать его из GitHub или скачать его в виде файла .zip.
Чтобы клонировать пример, откройте командную строку и перейдите к месту создания проекта и введите следующую команду:
git clone https://github.com/Azure-Samples/ms-identity-ciam-browser-delegated-android-sample
Настройка примера мобильного приложения Android
Чтобы включить проверку подлинности и доступ к ресурсам веб-API, настройте пример, выполнив следующие действия.
В Android Studio откройте клонируемый проект.
Откройте файл /app/src/main/res/raw/auth_config_ciam.json .
Найдите плейсхолдер:
- Замените
Enter_the_Application_Id_Hereна идентификатор приложения (идентификатор клиента) того приложения, которое вы зарегистрировали ранее. -
Enter_the_Redirect_Uri_Hereи замените его на значение redirect_uri в файле конфигурации библиотеки проверки подлинности Майкрософт (MSAL), который вы скачали ранее, когда вы добавляли URL-адрес перенаправления платформы. -
Enter_the_Tenant_Subdomain_Hereи замените его на поддомен каталога (домен клиента). Например, если основной домен клиента — этоcontoso.onmicrosoft.com, используйтеcontoso. Если вы не знаете поддомен клиента, узнайте, как прочитать сведения о клиенте.
- Замените
Откройте файл /app/src/main/AndroidManifest.xml.
Найдите плейсхолдер:
-
ENTER_YOUR_SIGNATURE_HASH_HEREи замените его на хэш подписи, который вы создали ранее, когда добавляли URL-адрес перенаправления платформы.
-
Откройте файл /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt .
Найдите свойство с именем
WEB_API_BASE_URLи задайте URL-адрес веб-API.Найдите свойство с именем
scopesи установите области, указанные в разрешениях веб-API для тестового Android приложения.private const val scopes = "" // Developers should set the respective scopes of their web API here. For example, private const val scopes = "api://{clientId}/{ToDoList.Read} api://{clientId}/{ToDoList.ReadWrite}"
Вы настроили приложение, и оно готово к запуску.
Запуск примера приложения и вызов веб-API
Чтобы создать и запустить приложение, выполните следующие действия.
На панели инструментов выберите приложение в меню конфигураций запуска.
В меню целевого устройства выберите устройство, на которое вы хотите запустить приложение.
Если у вас нет устройств, необходимо создать виртуальное устройство Android для использования эмулятора Android или подключить физическое устройство Android.
Нажмите кнопку Запустить.
Выберите "Получить маркер" в интерактивном режиме , чтобы запросить маркер доступа.
Выберите API— выполните GET , чтобы вызвать ранее настроенный веб-API ASP.NET Core. Успешный вызов веб-API возвращает HTTP 200, а HTTP 403 означает несанкционированный доступ.