Доступ к общедоступному API Azure Sphere с помощью удостоверения пользователя AAD
Этот метод проверки подлинности можно использовать, если необходимо реализовать веб-приложение или консольное приложение, к которому пользователи в клиенте Azure Active Directory (AAD) клиента могут получить доступ.
Регистрация клиентских приложений — это представления приложений Azure Active Directory, которые можно использовать для проверки подлинности и получения маркеров. Клиент службы предназначен для использования приложением для получения маркера доступа без интерактивной проверки подлинности пользователя. Он будет иметь определенные разрешения приложения и использовать секрет приложения (пароль) при получении маркеров доступа.
Необходимые условия
- Клиент Azure Active Directory (идентификатор клиента).
- Клиент Azure Sphere.
- Пользователь с необходимым разрешением в клиенте Azure Sphere.
- Добавьте идентификатор общедоступного приложения API Azure Sphere в клиент Azure.
Шаг 1. Регистрация клиентского приложения
- В портал Azure в области навигации слева щелкните Azure Active Directory.
- В колонке Azure Active Directory щелкните Регистрация приложений.
- Щелкните Создать регистрацию.
- Присвойте приложению отображаемое имя.
Шаг 2. Настройка проверки подлинности
- В портал Azure в области навигации слева щелкните Azure Active Directory.
- В Регистрация приложений выберите свое приложение, а затем — Проверка подлинности.
- Настройте приложение в соответствии с требованиями приложения.
Шаг 3. Добавление разрешений API
- Выберите Разрешения API и щелкните Добавить разрешение.
- В разделе API, которые использует моя организация, найдите общедоступный API Azure Sphere. Идентификатор приложения для общедоступного API Azure Sphere — 7c209960-a417-423c-b2e3-9251907e63fe.
- Выберите Azure Sphere Public.
- Выберите azuresphere.readwrite и щелкните Добавить разрешения.
Шаг 4. Настройка приложения
IPublicClientApplication publicClientApplication =
PublicClientApplicationBuilder.Create("<<App registration Client ID>>")
.WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
.WithAuthority(AzureCloudInstance.AzurePublic, "<<3rd Party Tenant Id>>")
.Build();
string[] scopes = new[] { "https://firstparty.sphere.azure.net/api/azuresphere.readwrite" };
AuthenticationResult result = await publicClientApplication.AcquireTokenInteractive(scopes).ExecuteAsync();
string accessToken=result.AccessToken;