Поделиться через


Создайте целевую страницу для транзакционного предложения 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, не требуется запрашивать информацию, требующую больше базового согласия. Если вам нужны сведения о пользователе, для которых требуется дополнительное согласие для приложения, необходимо запросить эти сведения после завершения активации подписки. Это позволяет безукоризненной активации подписки для покупателя и снижает риск отказа.

Целевая страница обычно включает в себя следующее:

  • Представьте название предложения и плана, купленных, а также условия выставления счетов.
  • Представить сведения об учетной записи покупателя, включая имя и фамилию, организацию и электронную почту.
  • Предложите покупателю подтвердить или заменить другие сведения об учетной записи.
  • Руководство покупателя по следующим шагам после активации. Например, получите приветственное сообщение электронной почты, управляйте подпиской, получите поддержку или ознакомьтесь с документацией.

Заметка

Покупатель также будет направлен на целевую страницу при управлении подпиской после активации. После активации подписки покупателя необходимо использовать SSO (единую систему входа), чтобы предоставить пользователю возможность авторизации. Рекомендуется направить пользователя на страницу профиля учетной записи или конфигурации.

В следующих разделах описан процесс создания целевой страницы:

  1. Создайте регистрацию приложения Microsoft Entra для целевой страницы.
  2. Используйте пример кода в качестве отправной точки для вашего приложения.
  3. Использовать два приложения Microsoft Entra для повышения безопасности в рабочей среде.
  4. Обработать токен идентификации покупки, добавленный в URL-адрес торговой площадки.
  5. Чтение информации из утверждений, закодированных в маркере идентификатора, который был получен от Microsoft Entra ID после входа, и был отправлен с запросом.
  6. Использовать API Microsoft Graph для сбора дополнительных сведений по мере необходимости.

Создайте регистрацию приложения Microsoft Entra

Коммерческая платформа полностью интегрирована с идентификатором Microsoft Entra. Покупатели приходят на Marketplace, прошедшие аутентификацию с помощью учетной записи Microsoft Entra или учетной записи Microsoft (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 ID, blade Quickstart предлагает список распространенных типов приложений и стеков разработки, как показано на Рис. 1. Выберите ту, которая соответствует вашей среде, и следуйте инструкциям по загрузке и настройке.

рис. 1. Колонка быстрого запуска на портале Azure

иллюстрирует панель быстрого запуска на портале Azure.

После скачивания кода и настройки среды разработки измените параметры конфигурации в приложении, чтобы отразить идентификатор приложения, идентификатор клиента и секрет клиента, записанный в предыдущей процедуре. Обратите внимание, что точные шаги будут отличаться в зависимости от того, какой пример вы используете.

Использование двух приложений Microsoft Entra для повышения безопасности в рабочей среде

В этой статье представлена упрощенная версия архитектуры для реализации целевой страницы для предложения SaaS коммерческой платформы. При запуске страницы в рабочей среде рекомендуется повысить безопасность, взаимодействуя с API выполнения SaaS только с помощью другого защищенного приложения. Для этого требуется создание двух новых приложений:

  • Во-первых, мультитенантное приложение целевой страницы, описанное до настоящего момента, за исключением функционала для связи с API выполнения SaaS. Эта функциональность будет передана другому приложению, как описано ниже.
  • Во-вторых, приложение для владения коммуникациями с API выполнения функций SaaS. Это приложение должно быть одним клиентом, только для использования вашей организацией, а список управления доступом можно установить, чтобы ограничить доступ к API только из этого приложения.

Это позволяет решению работать в сценариях, которые соблюдают принцип разбиения ответственности. Например, целевая страница использует первое зарегистрированное приложение Microsoft Entra для авторизации пользователя. После того, как пользователь вошел в систему, целевая страница использует вторую учетную запись Microsoft Entra для запроса токена доступа, чтобы обратиться к API выполнения SaaS и вызвать операцию разрешения доступа.

Разрешите маркер идентификации покупки на торговой площадке

Когда покупатель отправляется на целевую страницу, токен добавляется в параметр URL. Этот токен отличается как от токена, выданного идентификатором Microsoft Entra ID, так и от токена доступа, используемого для аутентификации между службами, и используется в качестве входных данных для SaaS-API выполнения вызова на разрешение для получения сведений о подписке. Как и во всех вызовах API выполнения SaaS, ваш сервисный запрос будет проходить проверку подлинности с помощью маркера доступа на основе идентификатора приложения Microsoft Entra Application ID для проверки подлинности между службами.

Заметка

В большинстве случаев рекомендуется выполнить этот вызов из второго однотенантного приложения. См. раздел Использование двух приложений Microsoft Entra для повышения безопасности в рабочей ранее в этой статье.

Запрос токена доступа

Для проверки подлинности приложения с помощью API выполнения SaaS требуется маркер доступа, который можно создать, вызвав конечную точку OAuth идентификатора Microsoft Entra ID. См. . Как получить токен авторизации издателя.

Вызовите конечную точку разрешения

API-методы выполнения SaaS реализуют конечную точку разрешение, которая может вызываться для подтверждения действительности токена Marketplace и возврата сведений о подписке.

Извлечение информации из утверждений, закодированных в ID-токене

В рамках потока OpenID Connect поместите значение идентификатора клиента, которое вы получаете в https://login.microsoftonline.com/{tenant}/v2.0. Идентификатор Microsoft Entra ID добавляет в запрос ID-токен , когда покупатель перенаправляется на целевую страницу. Этот маркер содержит несколько основных сведений, которые могут быть полезны в процессе активации, включая сведения, отображаемые в этой таблице.

Ценность Описание
aud Предназначенная аудитория для этого токена. В этом случае ваш идентификатор приложения должен совпадать и быть подтверждён.
предпочтительное_имя_пользователя Основное имя посетителя. Это может быть адрес электронной почты, номер телефона или другой идентификатор.
электронная почта Адрес электронной почты пользователя. Обратите внимание, что это поле может быть пустым.
имя Читаемое человеком значение, определяющее предмет маркера. В этом случае это будет имя покупателя.
oid Идентификатор в системе удостоверений Майкрософт, которая однозначно идентифицирует пользователя в приложениях. Microsoft Graph вернет это значение в качестве свойства идентификатора для данной учетной записи пользователя.
tid Идентификатор, представляющий арендатора Microsoft Entra, из которого происходит покупатель. В случае удостоверения MSA это всегда будет 9188040d-6c67-4c5b-b112-36a304b66dad. Дополнительные сведения см. в заметке в следующем разделе: использование API Microsoft Graph.
суб Идентификатор, который однозначно идентифицирует пользователя в этом конкретном приложении.

Использование API Microsoft Graph

Маркер идентификатора содержит основные сведения для идентификации покупателя, но процесс активации может потребовать дополнительных сведений, таких как компания покупателя, для завершения процесса подключения. Используйте API Microsoft Graph, чтобы запросить эти сведения, чтобы избежать повторного ввода этих сведений пользователем. Стандартные разрешения User.Read содержат следующие сведения по умолчанию.

Ценность Описание
отображаемое имя Имя, отображаемое в адресной книге пользователя.
givenName Имя пользователя.
Название должности Название задания пользователя.
почта SMTP-адрес пользователя.
мобильный телефон Основной номер мобильного телефона для пользователя.
предпочтительный язык Код ISO 639-1 для предпочтительного языка пользователя.
фамилия Фамилия пользователя.

Для включения в запрос можно выбрать дополнительные свойства, такие как имя компании пользователя или расположение пользователя (страна или регион). Подробнее см. в свойствах для типа ресурса пользователя.

Большинство приложений, зарегистрированных с помощью идентификатора Microsoft Entra, предоставляют делегированные разрешения на чтение сведений пользователя из клиента Microsoft Entra своей компании. Любой запрос к Microsoft Graph для этой информации должен сопровождаться маркером доступа для проверки подлинности. Конкретные шаги по созданию маркера доступа будут зависеть от используемого стека технологий, но в примере кода будет показан пример. Дополнительные сведения см. в статье Получение доступа от имени пользователя.

Заметка

Учетные записи из клиента MSA (с идентификатором клиента 9188040d-6c67-4c5b-b112-36a304b66dad) не возвращают больше сведений, чем уже были собраны с маркером идентификатора. Поэтому этот вызов можно пропустить в API Graph для этих учетных записей.

Видеоуроки