Создание целевой страницы для продаваемого предложения SaaS на коммерческой платформе
В этой статье описывается процесс создания целевой страницы для приложения SaaS с поддержкой транзакций, которое будет продаваться на коммерческой платформе (Майкрософт).
Внимание
Azure Active Directory (Azure AD) Graph не рекомендуется использовать с 30 июня 2023 г. Идти вперед, мы не делаем дальнейших инвестиций в Azure AD Graph. API Azure AD Graph не имеют соглашения об уровне обслуживания или обслуживании за пределами исправлений, связанных с безопасностью. Инвестиции в новые функции и функциональные возможности будут сделаны только в Microsoft Graph.
Мы отставим Azure AD Graph на добавочных шагах, чтобы у вас было достаточно времени для переноса приложений в API Microsoft Graph. На более позднюю дату, которую мы объявим, мы заблокируем создание новых приложений с помощью Azure AD Graph.
Дополнительные сведения см. в статье "Важно: выход на пенсию в Azure AD Graph и отключение модуля PowerShell".
Обзор
Целевую страницу можно считать "залом ожидания" вашего предложения SaaS (программное обеспечение как услуга). После того как покупатель подпишется на предложение, коммерческая платформа направит его на целевую страницу, чтобы активировать и настроить его подписку для использования вашего приложения SaaS. Это можно считать шагом подтверждения заказа, который позволяет покупателю узнать, что он приобрел, и подтвердить сведения о его учетной записи. Используя идентификатор Microsoft Entra и Microsoft Graph, вы включите единый вход (SSO) для покупателя и получите важные сведения о покупателе, который можно использовать для подтверждения и активации подписки, включая их имя, адрес электронной почты и организацию.
Так как сведения, необходимые для активации подписки, ограничены и предоставляются идентификатором Microsoft Entra и Microsoft Graph, не требуется запрашивать информацию, требующую больше базового согласия. Если для вашего приложения нужны сведения о пользователе, требующие дополнительного согласия, необходимо запросить эту информацию после активации подписки. Это позволит покупателю легко активировать подписку и снизит риск отказа.
Целевая страница обычно включает следующее:
- Показывает название предложения и приобретенный план, а также условия выставления счетов.
- Показывает сведения об учетной записи покупателя, включая имя, фамилию, организацию и адрес электронной почты.
- Предлагает покупателю подтвердить эти сведения или указать сведения о другой учетной записи.
- Сообщает покупателю информацию о дальнейших действиях после активации, Например, сообщите, что он получит письмо с приветствием, а также сможет управлять подпиской, получить поддержку или ознакомиться с документацией.
Примечание.
Покупатель будет также перенаправлен на целевую страницу при управлении подпиской после активации. После активации подписки покупателя вам нужно будет использовать единый вход, чтобы разрешить пользователю выполнять вход. Рекомендуется направлять пользователя в профиль учетной записи или на страницу конфигурации.
В следующих разделах описывается процесс создания целевой страницы.
- Создайте регистрацию приложения Microsoft Entra для целевой страницы.
- Использование примера кода в качестве отправной точки для приложения.
- Используйте два приложения Microsoft Entra для повышения безопасности в рабочей среде.
- Разрешение маркера идентификации покупки в Marketplace, добавленного в URL-адрес коммерческой платформой.
- Чтение сведений из утверждений, закодированных в маркере идентификатора, который был получен от идентификатора Microsoft Entra после входа, который был отправлен с запросом.
- Использование API Microsoft Graph для сбора дополнительных сведений при необходимости.
Создание регистрации приложения Microsoft Entra
Коммерческая платформа полностью интегрирована с идентификатором Microsoft Entra. Покупатели приходят в Marketplace, прошедшие проверку подлинности с помощью учетной записи Майкрософт или учетной записи Майкрософт (MSA). После покупки покупатель перенаправляется с коммерческой платформы на URL-адрес вашей целевой страницы для активации и настройки подписки на ваше приложение SaaS. Вы должны разрешить покупателю войти в приложение с помощью единого входа Microsoft Entra. (URL-адрес целевой страницы указан в предложении Страница технической конфигурации .)
Совет
Не включайте символ знака фунта (#) в URL-адрес целевой страницы. В противном случае клиенты не смогут получить доступ к целевой странице.
Первым шагом к использованию удостоверения является проверка регистрации целевой страницы в качестве приложения Microsoft Entra. Регистрация приложения позволяет использовать идентификатор Microsoft Entra для проверки подлинности пользователей и запроса доступа к ресурсам пользователей. Ее можно рассматривать как определение приложения, которое позволяет службе решить, как выдавать маркеры приложению в зависимости от параметров приложения.
Регистрация нового приложения с помощью портала Azure
Чтобы приступить к работе, выполните инструкции по регистрации нового приложения. Чтобы позволить пользователям из других компаний посещать приложение, в ответ на вопрос о том, кто может использовать приложение, вам необходимо выбрать один из многопользовательских вариантов.
Если вы собираетесь использовать запросы к API Microsoft Graph, настройте новое приложение для доступа к интерфейсам веб-API. При выборе разрешений API для этого приложения значения User.Read по умолчанию будет достаточно для сбора основных сведений о покупателе и обеспечения беспроблемного автоматического процесса подключения. Не запрашивайте разрешения API с меткой требуется согласие администратора, так как в этом случае никакие пользователи, не являющиеся администраторами, не смогут посещать вашу целевую страницу.
Если вам требуются повышенные разрешения в рамках процесса подключения или подготовки, рассмотрите возможность использования добавочной функции предоставления согласия идентификатора Microsoft Entra ID, чтобы все покупатели, отправленные из Marketplace, могли взаимодействовать изначально с целевой страницей.
Использование примера кода в качестве отправной точки
Мы предоставили несколько примеров приложений, реализующих простой веб-сайт с включенным именем входа Microsoft Entra. После регистрации приложения в идентификаторе Microsoft Entra колонка быстрого запуска предлагает список распространенных типов приложений и стеков разработки, как показано на рис. 1. Выберите тип, который соответствует вашей среде, и следуйте инструкциям по скачиванию и настройке.
Рисунок 1. Колонка "Краткое руководство" на портале Azure
После того как вы скачаете код и настроите среду разработки, измените параметры конфигурации в приложении, указав идентификатор приложения, идентификатор клиента и секрет клиента, которые вы записали в предыдущей процедуре. Обратите внимание на то, что точные действия будут отличаться в зависимости от используемого примера.
Использование двух приложений Microsoft Entra для повышения безопасности в рабочей среде
В этой статье представлена упрощенная версия архитектуры реализации целевой страницы для вашего предложения SaaS на коммерческой платформе. При запуске страницы в рабочей среде рекомендуем вам повысить безопасность, обратившись к API выполнения SaaS через другое защищенное приложение. Для этого необходимо создать два новых приложения.
- Во-первых, приложение для создания многопользовательской целевой страницы, как описывалось выше, но без функции для обращения к API выполнения SaaS. Эта функция будет передана в другое приложение, как описано ниже.
- Во-вторых, приложение для взаимодействия с API выполнения SaaS. Это приложение должно быть единственным клиентом, предназначенным только для вашей организации, а для того, чтобы разрешить доступ к API только из этого приложения, можно составить список управления доступом.
Это позволит решению работать в сценариях, где соблюдается принцип разделения проблем. Например, целевая страница использует первое зарегистрированного приложения Microsoft Entra для входа пользователя. После входа пользователя целевая страница использует второй идентификатор Microsoft Entra для запроса маркера доступа для вызова API выполнения SaaS и вызова операции разрешения.
Разрешение маркера идентификации покупки Marketplace
Когда покупатель отправляется на вашу целевую страницу, в параметр URL-адреса добавляется маркер. Этот маркер отличается от маркера, выданного идентификатором Microsoft Entra, и маркером доступа, используемым для проверки подлинности между службами, и используется в качестве входных данных для API выполнения SaaS для получения сведений о подписке. Как и во всех вызовах API выполнения SaaS, запрос на обслуживание будет проходить проверку подлинности с помощью маркера доступа, основанного на идентификаторе приложения Microsoft Entra Application ID для проверки подлинности между службами.
Примечание.
В большинстве случаев этот вызов лучше отправлять из второго приложения с одним клиентом. Ознакомьтесь с двумя приложениями Microsoft Entra для повышения безопасности в рабочей среде ранее в этой статье.
Запросите маркер доступа
Для проверки подлинности приложения с помощью API выполнения SaaS требуется маркер доступа, который можно создать, вызвав конечную точку OAuth идентификатора Microsoft Entra ID. См. раздел Как получить маркер авторизации издателя.
Вызов конечной точки разрешения
API выполнения SaaS реализуют конечную точку разрешения, которую можно вызвать, чтобы подтвердить действительность маркера Marketplace и получить информацию о подписке.
Чтение сведений из утверждений, закодированных в маркере идентификации
В рамках потока OpenID Connect поместите значение идентификатора клиента, которое вы получаете https://login.microsoftonline.com/{tenant}/v2.0
. Идентификатор Microsoft Entra добавляет маркер идентификатора в запрос, когда покупатель отправляется на целевую страницу. Он содержит несколько фрагментов основных сведений, которые могут быть полезны в процессе активации, включая сведения, приведенные в этой таблице.
значение | Описание |
---|---|
aud | Предполагаемая аудитория для этого маркера. В этом случае она должна соответствовать идентификатору приложения и быть проверена. |
preferred_username | Основное имя посетившего предложение пользователя. Это может быть адрес электронной почты, номер телефона или другой идентификатор. |
эл. почта | Адрес электронной почты пользователя. Обратите внимание, что это поле может быть пустым. |
name | Удобное для восприятия значение, которое идентифицирует субъект маркера. В данном случае это будет имя пользователя. |
oid | Идентификатор в системе идентификации Майкрософт, однозначно определяющий пользователя в разных приложениях. Microsoft Graph вернет этот идентификатор как свойство "Идентификатор" указанной учетной записи пользователя. |
tid | Идентификатор, представляющий клиент Microsoft Entra, из которому находится покупатель. Если используется идентификатор MSA, он всегда будет иметь значение 9188040d-6c67-4c5b-b112-36a304b66dad . Дополнительные сведения см. в примечании в следующем разделе — "Использование API Microsoft Graph". |
дочерний объект | Идентификатор, который уникальным образом идентифицирует пользователя в данном приложении. |
Использование API Microsoft Graph
Маркер идентификатора содержит основные сведения для идентификации покупателя, но процесс активации может потребовать дополнительных сведений, таких как компания покупателя, для завершения процесса подключения. Используйте API Microsoft Graph, чтобы запросить эти сведения и не вынуждать пользователя снова вводить эту информацию. Стандартные разрешения User.Read включают приведенные ниже сведения по умолчанию.
значение | Description |
---|---|
displayName | Имя пользователя, отображаемое в адресной книге. |
givenName | Имя пользователя. |
jobTitle | Должность пользователя. |
SMTP-адрес пользователя. | |
mobilePhone | Основной номер мобильного телефона пользователя. |
preferredLanguage | Код ISO 639-1 для предпочтительного языка пользователя. |
surname; | Фамилия пользователя. |
Для включения в запрос можно выбрать дополнительные свойства, такие как имя компании пользователя или расположение пользователя (страна или регион). Дополнительные сведения см. в разделе о свойствах типа ресурсов пользователя.
Большинство приложений, зарегистрированных с помощью идентификатора Microsoft Entra, предоставляют делегированные разрешения на чтение сведений пользователя из клиента Microsoft Entra своей компании. Любой запрос, отправляемый к Microsoft Graph для получения этой информации, должен содержать маркер доступа для проверки подлинности. Конкретные действия по созданию маркера доступа будут зависеть от используемого стека технологий, но образец кода будет содержать соответствующий пример. Чтобы узнать больше, ознакомьтесь с получением доступа от имени пользователя.
Примечание.
Учетные записи из клиента MSA (с идентификатором клиента 9188040d-6c67-4c5b-b112-36a304b66dad
) не будут возвращать больше информации, чем уже было добавлено в маркер идентификатора, поэтому для этих учетных записей данный вызов API Graph можно пропустить.
Связанный контент
Видеоучебники