Creación de la página de aterrizaje de su oferta de SaaS comercializable en el marketplace comercial

Este artículo le guía por el proceso de creación de una página de aterrizaje para una aplicación de SaaS comercializable que se venderá en el marketplace comercial de Microsoft.

Importante

Azure Active Directory (Azure AD) Graph está en desuso a partir del 30 de junio de 2023. En el futuro, no estamos realizando más inversiones en Azure AD Graph. Las API de Graph de Azure AD no tienen ningún acuerdo de nivel de servicio ni compromiso de mantenimiento más allá de las correcciones relacionadas con la seguridad. Las inversiones en las nuevas características y funcionalidades solo se realizarán en Microsoft Graph.

Retiraremos Azure AD Graph en pasos incrementales para que tenga tiempo suficiente para migrar las aplicaciones a las API de Microsoft Graph. En una fecha posterior que anunciaremos, bloquearemos la creación de aplicaciones nuevas mediante Azure AD Graph.

Para más información, consulte Importante: Retirada de Azure AD Graph y Desuso del módulo de PowerShell.

Información general

Puede pensar en la página de aterrizaje como el "recibidor" de la oferta de software como servicio (SaaS). Después de que el comprador se suscriba a una oferta, el marketplace comercial le dirigirá a la página de aterrizaje para activar y configurar su suscripción a la aplicación de SaaS. Piense en esto como un paso de confirmación de pedido que permite al comprador ver lo que ha comprado y confirmar los detalles de su cuenta. Con Microsoft Entra ID y Microsoft Graph, habilitará el inicio de sesión único (SSO) para el comprador y obtendrá detalles importantes sobre el comprador que puede usar para confirmar y activar su suscripción, incluido su nombre, dirección de correo electrónico y organización.

Dado que la información necesaria para activar la suscripción está limitada y proporcionada por el identificador de Microsoft Entra y Microsoft Graph, no debe haber necesidad de solicitar información que requiera más de consentimiento básico. Si necesita detalles de usuario que requieran un consentimiento adicional para la aplicación, debe solicitar esta información una vez completada la activación de la suscripción. Esto permite la activación de la suscripción sin problemas para el comprador y reduce el riesgo de abandono.

La página de aterrizaje suele incluir:

  • Presente el nombre de la oferta y el plan adquirido, así como los términos de facturación.
  • Presente los detalles de la cuenta del comprador, incluidos el nombre y los apellidos, la organización y el correo electrónico.
  • Pida al comprador que confirme o sustituya los distintos detalles de la cuenta.
  • Guíe al comprador en los pasos siguientes después de la activación. Por ejemplo, recibir un correo electrónico de bienvenida, administrar la suscripción, obtener soporte técnico o leer la documentación.

Nota:

También se dirigirá al comprador a la página de aterrizaje al administrar su suscripción después de la activación. Después de activar la suscripción del comprador, debe usar el SSO para permitir que el usuario inicie sesión. Se recomienda dirigir al usuario a un perfil de cuenta o a una página de configuración.

Las siguientes secciones le guiarán en el proceso de creación de una página de aterrizaje:

  1. Cree un registro de aplicación de Microsoft Entra para la página de aterrizaje.
  2. Use un ejemplo de código como punto de partida para su aplicación.
  3. Use dos aplicaciones de Microsoft Entra para mejorar la seguridad en producción.
  4. Resuelva el token de identificación de compra de Marketplace agregado a la dirección URL por el marketplace comercial.
  5. Lea información de notificaciones codificadas en el token de identificador, que se recibió de Microsoft Entra ID después del inicio de sesión, que se envió con la solicitud.
  6. Use la API de Microsoft Graph para recopilar información adicional, según sea necesario.

Creación de un registro de aplicación Microsoft Entra

El marketplace comercial está totalmente integrado con microsoft Entra ID. Los compradores llegan al marketplace autenticado con una cuenta de Microsoft Entra o una cuenta microsoft (MSA). Después de la compra, el comprador va del marketplace comercial a la dirección URL de la página de aterrizaje para activar y administrar su suscripción de su aplicación de SaaS. Debe permitir que el comprador inicie sesión en la aplicación con El inicio de sesión único de Microsoft Entra. (La dirección URL de la página de aterrizaje se especifica en la página Configuración técnica de la oferta.)

Sugerencia

No incluya el carácter de almohadilla (#) en la dirección URL de la página de aterrizaje. De lo contrario, los clientes no podrán acceder a la página de aterrizaje.

El primer paso para usar la identidad es asegurarse de que la página de aterrizaje está registrada como una aplicación de Microsoft Entra. El registro de la aplicación permite usar microsoft Entra ID para autenticar a los usuarios y solicitar acceso a los recursos de usuario. Se puede considerar la definición de la aplicación, lo que permite que el servicio sepa cómo emitir tokens para la aplicación en función de la configuración de la aplicación.

Registro de una aplicación nueva mediante Azure Portal

Para empezar, siga las instrucciones para registrar una nueva aplicación. Para permitir que los usuarios de otras empresas visiten la aplicación, debe elegir una de las opciones de multiinquilino cuando se le pregunte quién puede usar la aplicación.

Si tiene previsto consultar la API de Microsoft Graph, configure la nueva aplicación para acceder a las API web. Al seleccionar los permisos de API para esta aplicación, el valor predeterminado User.Read es suficiente para recopilar información básica sobre el comprador para que el proceso de incorporación sea automático y sin problemas. No solicite ningún permiso de la API con la etiqueta necesita el consentimiento del administrador, ya que esto impedirá que todos los usuarios que no sean administradores visiten la página de aterrizaje.

Si necesita permisos elevados como parte del proceso de incorporación o aprovisionamiento, considere la posibilidad de usar la funcionalidad de consentimiento incremental de Microsoft Entra ID para que todos los compradores enviados desde Marketplace puedan interactuar inicialmente con la página de aterrizaje.

Uso de un ejemplo de código como punto de partida

Hemos proporcionado varias aplicaciones de ejemplo que implementan un sitio web sencillo con el inicio de sesión de Microsoft Entra habilitado. Una vez registrada la aplicación en microsoft Entra ID, la hoja Inicio rápido ofrece una lista de los tipos de aplicaciones comunes y las pilas de desarrollo, tal como se muestra en la figura 1. Elija el que coincida con su entorno y siga las instrucciones para descargarlo y configurarlo.

Figura 1: Hoja de inicio rápido en Azure Portal

Muestra la hoja de inicio rápido en Azure Portal.

Después de descargar el código y configurar el entorno de desarrollo, cambie los valores de configuración de la aplicación para que reflejen el identificador de la aplicación, el identificador del inquilino y el secreto de cliente que anotó en el procedimiento anterior. Tenga en cuenta que los pasos exactos variarán en función del ejemplo que use.

Uso de dos aplicaciones de Microsoft Entra para mejorar la seguridad en producción

En este artículo se presenta una versión simplificada de la arquitectura para implementar una página de aterrizaje para su oferta de SaaS del marketplace comercial. Al ejecutar la página en producción, se recomienda mejorar la seguridad mediante la comunicación con las API de cumplimiento de SaaS solo a través de una aplicación diferente y protegida. Esto requiere la creación de dos aplicaciones nuevas:

  • En primer lugar, la aplicación de la página de aterrizaje multiinquilino que se ha descrito hasta este punto, excepto sin la funcionalidad para ponerse en contacto con las API de cumplimiento de SaaS. Esta funcionalidad se descargará en otra aplicación, como se describe a continuación.
  • En segundo lugar, una aplicación para poseer las comunicaciones con las API de cumplimiento de SaaS. Esta aplicación debe ser de un solo inquilino, solo para su uso por parte de la organización, y se puede establecer una lista de control de acceso para limitar el acceso a las API solo desde esta aplicación.

Esto permite que la solución funcione en escenarios que tengan en cuenta el principio de separación de preocupaciones. Por ejemplo, la página de aterrizaje usa la primera aplicación microsoft Entra registrada para iniciar sesión en el usuario. Una vez que el usuario ha iniciado sesión, la página de aterrizaje usa el segundo identificador de Entra de Microsoft para solicitar un token de acceso para llamar a las API de suministro de SaaS y llamar a la operación de resolución.

Resolución del token de identificación de la compra de Marketplace

Cuando se envía al comprador a la página de aterrizaje, se agrega un token al parámetro de dirección URL. Este token es diferente del token emitido por id. de Microsoft Entra y del token de acceso que se usa para la autenticación de servicio a servicio y se usa como entrada para las API de suministro de SaaS resolver la llamada para obtener los detalles de la suscripción. Al igual que con todas las llamadas a las API de suministro de SaaS, la solicitud de servicio a servicio se autenticará con un token de acceso basado en el usuario del identificador de aplicación de Microsoft Entra de la aplicación para la autenticación entre servicios de la aplicación.

Nota:

En la mayoría de los casos, es preferible hacer esta llamada desde una segunda aplicación de un único inquilino. Consulte Uso de dos aplicaciones de Microsoft Entra para mejorar la seguridad en producción anteriormente en este artículo.

Solicitar un token de acceso

Para autenticar la aplicación con las API de suministro de SaaS, necesita un token de acceso, que se puede generar mediante una llamada al punto de conexión de OAuth id. de Microsoft Entra. Consulte Cómo obtener el token de autorización del editor.

Llamada al punto de conexión de resolución

Las API de cumplimiento de SaaS implementan el punto de conexión de resolución al que se puede llamar para confirmar la validez del token de Marketplace y devolver información acerca de la suscripción.

Lectura de la información de las notificaciones codificadas en el token de identificador

Como parte del flujo OpenID Connect, coloque el valor del id. de inquilino que recibe en https://login.microsoftonline.com/{tenant}/v2.0. Microsoft Entra ID agrega un token de identificador a la solicitud cuando el comprador se envía a la página de aterrizaje. Este token contiene varios elementos de información básica que podrían ser útiles en el proceso de activación, incluida la información que se muestra en esta tabla.

Valor Descripción
aud Audiencia objetivo para este token. En este caso, debe coincidir con el identificador de la aplicación y debe validadarse.
preferred_username Nombre de usuario principal del usuario visitante. Puede ser una dirección de correo electrónico, un número de teléfono u otro identificador.
Correo electrónico Dirección de correo electrónico del usuario. Tenga en cuenta que este campo puede estar vacío.
nombre Valor en lenguaje natural que identifica al firmante del token. En este caso, será el nombre del comprador.
oid Identificador en el sistema de identidades de Microsoft que identifica de forma única al usuario entre aplicaciones. Microsoft Graph devuelve este valor como la propiedad Id. de una cuenta de usuario determinada.
tid Identificador que representa el inquilino de Microsoft Entra del que procede el comprador. En el caso de una identidad de MSA, siempre será 9188040d-6c67-4c5b-b112-36a304b66dad. Para obtener más información, consulte la nota de la sección siguiente: Uso de Microsoft Graph API.
sub Identificador que identifica de forma única al usuario en esta aplicación específica.

Uso de Microsoft Graph API

El token de identificador contiene información básica para identificar al comprador, pero el proceso de activación puede requerir detalles adicionales(como la empresa del comprador) para completar el proceso de incorporación. Use la API de Microsoft Graph para solicitar esta información para evitar que el usuario vuelva a escribir estos detalles. Los permisos User.Read estándar incluyen la siguiente información, de forma predeterminada.

Valor Description
DisplayName Nombre que se muestra en la libreta de direcciones para el usuario.
givenName Nombre de pila del usuario.
jobTitle Cargo del usuario.
mail Dirección SMTP del usuario.
mobilePhone Número de teléfono móvil principal del usuario.
preferredLanguage Código ISO 639-1 del idioma preferido del usuario.
surname Apellidos del usuario.

Se pueden seleccionar propiedades adicionales, como el nombre de la empresa del usuario o la ubicación del usuario (país o región) para su inclusión en la solicitud. Consulte las propiedades del tipo de recurso de usuario para obtener más detalles.

La mayoría de las aplicaciones registradas con el identificador de Entra de Microsoft conceden permisos delegados para leer la información del usuario del inquilino de Microsoft Entra de su empresa. Cualquier solicitud a Microsoft Graph de esta información debe ir acompañada de un token de acceso para la autenticación. Los pasos específicos para generar el token de acceso dependerán de la pila de tecnología que esté usando, pero el código de ejemplo contendrá un ejemplo. Para más información, consulte Obtener acceso en nombre de un usuario.

Nota:

Las cuentas del inquilino de MSA (con el identificador de inquilino 9188040d-6c67-4c5b-b112-36a304b66dad) no devolverán más información de la que ya se ha recopilado con el token de identificador. Por lo tanto, puede omitir esta llamada a Graph API para estas cuentas.

Pasos siguientes

Tutoriales en vídeo