Регистрация приложения SaaS
В этой статье объясняется, как зарегистрировать приложение SaaS с помощью портала Microsoft Azure и как получить маркер доступа издателя (маркер доступа Microsoft Entra). Издатель будет использовать этот маркер для проверки подлинности приложения SaaS, вызвав API выполнения SaaS. API выполнения используют учетные данные клиента OAuth 2.0 для обращения к конечным точкам Microsoft Entra ID (версии 2.0) для запроса маркера доступа между службами.
Azure Marketplace не накладывает никаких ограничений на метод проверки подлинности, который служба SaaS использует для конечных пользователей. Приведенный ниже поток необходим только для проверки подлинности службы SaaS в Azure Marketplace.
Дополнительные сведения об идентификаторе Microsoft Entra (Active Directory) см. в разделе Что такое проверка подлинности.
Регистрация приложения с защитой Microsoft Entra ID
Любое приложение, которое хочет использовать возможности идентификатора Microsoft Entra, сначала должно быть зарегистрировано в клиенте Microsoft Entra. Этот процесс регистрации включает в себя предоставление Microsoft Entra некоторых сведений о приложении. Чтобы зарегистрировать новое приложение на портале Azure, выполните следующие действия.
Если ваша учетная запись предоставляет доступ к нескольким учетным записям, выберите свою учетную запись в правом верхнем углу. Затем задайте сеанс портала требуемому клиенту Microsoft Entra.
В левой части панели навигации выберите службу идентификации Microsoft Entra ID, затем выберите регистрации приложенийи далее выберите регистрацию новых приложений.
На странице "Создание" введите сведения о регистрации приложения:
Имя: введите смысловое имя приложения
Поддерживаемые типы учетных записей:
Выберите учетные записи в этом каталоге организации (только один клиент).
По завершении выберите Зарегистрировать. Идентификатор Microsoft Entra назначает уникальный идентификатор приложения новому приложению. Необходимо зарегистрировать одно приложение, которое обращается толькоAPI и как однотенантное.
Чтобы создать секрет клиента, перейдите на страницу Сертификаты и & Секреты и выберите +Создать секрет клиента. Обязательно скопируйте значение секрета, чтобы использовать его в коде.
Идентификатор приложения Microsoft Entra связан с вашим идентификатором издателя, поэтому убедитесь, что тот же идентификатор приложения используется во всех ваших предложениях.
Заметка
Если издатель имеет две или несколько разных учетных записей в Центре партнеров, сведения о регистрации приложения Microsoft Entra можно использовать только в одной учетной записи. Использование того же пары идентификаторов арендатора и приложения для предложения под другой учетной записью издателя не поддерживается.
Заметка
Необходимо создать служебный принципал зарегистрированного приложения в клиенте, который используется для создания токенов. См. эту документацию Создание субъекта-службы для регистрации приложений.
Получение токена авторизации издателя
После регистрации приложения вы можете программно запросить маркер авторизации издателя (маркер доступа Microsoft Entra с помощью конечной точки Azure AD версии 2). Издатель должен использовать этот маркер при вызове различных API выполнения SaaS. Этот маркер действителен только в течение одного часа.
Дополнительную информацию об этих токенах доступа см. в разделе токенов доступа Microsoft Entra. В потоке ниже используется токен конечной точки V2.
Получение токена с помощью HTTP POST
Метод HTTP
Пост
URL-адрес запроса
https://login.microsoftonline.com/*{tenantId}*/oauth2/v2.0/token
параметр URI
Имя параметра | Обязательно | Описание |
---|---|---|
tenantId |
Верно | Идентификатор арендатора зарегистрированного приложения Microsoft Entra. |
заголовок запроса
Имя заголовка | Обязательно | Описание |
---|---|---|
content-type |
Верно | Тип контента, связанный с запросом. Значение по умолчанию — application/x-www-form-urlencoded . |
текст запроса
Имя свойства | Обязательно | Описание |
---|---|---|
grant_type |
Верно | Тип предоставления. Используйте "client_credentials" . |
client_id |
Верно | Идентификатор клиента или приложения, связанный с приложением Microsoft Entra. |
client_secret |
Верно | Секрет, связанный с приложением Microsoft Entra. |
scope |
Верно | Целевой ресурс, для которого запрашивается токен с областью действия по умолчанию. Используйте 20e940b3-4c77-4b0b-9a53-9e16a1b010a7/.default , так как API SaaS Marketplace всегда является целевым ресурсом в этом случае. |
Ответ
Имя | Тип | Описание |
---|---|---|
200 ОК | TokenResponse | Запрос выполнен успешно. |
ОтветТокена
Пример ответа:
{
"token_type": "Bearer",
"expires_in": "3600",
"ext_expires_in": "0",
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayIsImtpZCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayJ9…"
}
Элемент | Описание |
---|---|
access_token |
Этот элемент представляет собой <access_token> , который будет передаваться в качестве параметра авторизации при вызове всех API исполнения SaaS и API измерения Marketplace. При вызове защищенного REST API маркер внедряется в поле заголовка запроса Authorization в качестве маркера носителя, что позволяет API пройти проверку подлинности вызывающего. |
expires_in |
Количество секунд, в течение которых токен доступа остается действительным, начиная с момента его выдачи и до истечения срока действия. Время выдачи можно найти в клейме iat токена. |
expires_on |
Интервал времени, когда срок действия маркера доступа истекает. Дата представлена в виде количества секунд от "1970-01-01T0:0Z UTC" (соответствует утверждению токена exp ). |
token_type |
Тип токена, который является токеном доступа типа "Bearer", что означает, что ресурс может предоставить доступ обладателю этого токена. |
Связанное содержимое
Теперь ваше приложение, защищенное Microsoft Entra ID, может использовать API-интерфейсы подписок SaaS обеспечения выполнения версии 2 и API-интерфейсы операций обеспечения выполнения SaaS версии 2.
Видеоуроки