Criar a página de destino para sua oferta de SaaS transacionável no mercado comercial
Este artigo orienta você no processo de criação de uma landing page para um aplicativo SaaS transacionável que será vendido no marketplace comercial da Microsoft.
Importante
O Azure AD Graph (Azure Active Directory) foi preterido em 30 de junho de 2023. Daqui para frente, não faremos mais investimentos no Azure AD Graph. As APIs do Azure AD Graph não têm nenhum compromisso de manutenção ou SLA além de correções relacionadas à segurança. Os investimentos em novos recursos e funcionalidades serão feitos apenas no Microsoft Graph.
Desativaremos o Azure AD Graph em etapas incrementais para que você tenha tempo suficiente para migrar seus aplicativos para as APIs do Microsoft Graph. Em uma data posterior que anunciaremos, bloquearemos a criação de novos aplicativos usando o Azure AD Graph.
Para saber mais, consulte Importante: desativação do Azure AD Graph e substituição do módulo do PowerShell.
Visão geral
Você pode pensar na página de aterrissagem como o "lobby" para sua oferta de SaaS (software como serviço). Depois que o comprador assina uma oferta, o marketplace comercial o direciona para a página de destino para ativar e configurar sua assinatura do seu aplicativo SaaS. Pense nisso como uma etapa de confirmação do pedido que permite que o comprador veja o que comprou e confirme os detalhes da conta. Usando o Microsoft Entra ID e o Microsoft Graph, você habilitará o SSO (logon único) para o comprador e obterá detalhes importantes sobre o comprador que você pode usar para confirmar e ativar sua assinatura, incluindo seu nome, endereço de email e organização.
Como as informações necessárias para ativar a assinatura são limitadas e fornecidas pela ID do Microsoft Entra e pelo Microsoft Graph, não deve haver necessidade de solicitar informações que exijam consentimento mais do que básico. Se você precisar de detalhes do usuário que exijam consentimento adicional para seu aplicativo, deverá solicitar essas informações após a conclusão da ativação da assinatura. Isso permite a ativação de assinatura sem atritos para o comprador e diminui o risco de abandono.
A página de destino normalmente inclui o seguinte:
- Apresente o nome da oferta e do plano comprados, bem como os termos de cobrança.
- Apresente os detalhes da conta do comprador, incluindo nome e sobrenome, organização e email.
- Solicite ao comprador que confirme ou substitua detalhes diferentes da conta.
- Orientar o comprador sobre as próximas etapas após a ativação. Por exemplo, receba um email de boas-vindas, gerencie a assinatura, obtenha suporte ou leia a documentação.
Observação
O comprador também será direcionado para a página de destino ao gerenciar a assinatura após a ativação. Depois que a assinatura do comprador for ativada, você deverá usar o SSO para permitir que o usuário entre. É recomendável direcionar o usuário para um perfil de conta ou página de configuração.
As seções a seguir orientarão você no processo de criação de uma landing page:
- Crie um de registro de aplicativo do Microsoft Entra para a página de aterrissagem.
- Usar um exemplo de código como um ponto de partida para seu aplicativo.
- Use dois aplicativos Microsoft Entra para melhorar a segurança em produção.
- Resolva o token de identificação de compra do marketplace adicionado à URL pelo marketplace comercial.
- Leia informações das declarações codificadas no token de ID, que foi recebido do Microsoft Entra ID após a entrada e enviado com a solicitação.
- Usar a API do Microsoft Graph para coletar informações adicionais, conforme necessário.
Criar um registro de aplicativo do Microsoft Entra
O marketplace comercial está totalmente integrado ao Microsoft Entra ID. Os compradores chegam ao marketplace autenticados com uma conta do Microsoft Entra ou a conta da Microsoft (MSA). Após a compra, o comprador vai do marketplace para a URL da landing page para ativar e gerenciar a assinatura do seu aplicativo SaaS. Você deve permitir que o comprador entre em seu aplicativo com o SSO do Microsoft Entra. (A URL da página de aterrissagem é especificada na página Configuração técnica da oferta.)
Gorjeta
Não inclua o caractere de cerquilha (#) na URL da página de aterrissagem. Caso contrário, seus clientes não poderão acessar sua página de destino.
A primeira etapa para usar a identidade é garantir que sua página de destino esteja registrada como um aplicativo do Microsoft Entra. O registro do aplicativo permite que você use a ID do Microsoft Entra para autenticar usuários e solicitar acesso aos recursos do usuário. Ele pode ser considerado a definição do aplicativo, que permite que o serviço saiba como emitir tokens para o aplicativo com base nas configurações do aplicativo.
Registrar um novo aplicativo usando o portal do Azure
Para começar, siga as instruções para registrar um novo aplicativo. Para permitir que usuários de outras empresas acessem o aplicativo, escolha uma das opções de multilocação quando for perguntado quem pode usar o aplicativo.
Se você pretende consultar a API do Microsoft Graph, configure seu novo aplicativo para acessar APIs da Web. Quando você seleciona as permissões de API para este aplicativo, o padrão de User.Read é suficiente para coletar informações básicas sobre o comprador para tornar o processo de integração suave e automático. Não solicite permissões de API rotuladas como precisando de consentimento do administrador, pois isso impedirá que todos os usuários que não sejam administradores visitem sua página inicial.
Se você precisar de permissões elevadas como parte do processo de integração ou provisionamento, considere usar a funcionalidade de consentimento incremental do Microsoft Entra ID para que todos os compradores enviados do marketplace possam interagir inicialmente com a landing page.
Usar um exemplo de código como ponto de partida
Fornecemos vários aplicativos de exemplo que implementam um site simples com o logon do Microsoft Entra habilitado. Depois que seu aplicativo é registrado no Microsoft Entra ID, a folha Início Rápido oferece uma lista de tipos de aplicativos comuns e pilhas de desenvolvimento, como visto na Figura 1. Escolha aquele que corresponda ao seu ambiente e siga as instruções para download e configuração.
Figura 1: Folha Início rápido no portal do Azure
Depois de baixar o código e configurar seu ambiente de desenvolvimento, altere as configurações no aplicativo para refletir a ID do aplicativo, a ID do locatário e o segredo do cliente que você registrou no procedimento anterior. Observe que as etapas exatas serão diferentes dependendo de qual exemplo você está usando.
Usar dois aplicativos do Microsoft Entra para melhorar a segurança na produção
Este artigo apresenta uma versão simplificada da arquitetura para implementar uma landing page para sua oferta de SaaS de marketplace comercial. Ao executar a página em produção, recomendamos que você melhore a segurança comunicando-se com as APIs de atendimento de SaaS apenas por meio de um aplicativo seguro diferente. Isso requer a criação de dois novos aplicativos:
- Primeiro, o aplicativo de página de aterrissagem multilocatário descrito até este ponto, mas sem a funcionalidade de entrar em contato com as APIs de processamento de SaaS. Essa funcionalidade será descarregada para outro aplicativo, conforme descrito abaixo.
- Em segundo lugar, um aplicativo para gerenciar as comunicações com as APIs de atendimento do SaaS. Esse aplicativo deve ser monousuário, para uso exclusivo da sua organização, e uma lista de controle de acesso pode ser estabelecida para limitar o acesso às APIs apenas a partir deste aplicativo.
Isso permite que a solução funcione em cenários que segue o princípio de separação de preocupações. Por exemplo, a página de destino usa o primeiro aplicativo registrado do Microsoft Entra para fazer login do usuário. Depois que o usuário estiver conectado, a página de aterrissagem usará a segunda ID do Microsoft Entra para solicitar um token de acesso para chamar as APIs de processamento de SaaS e chamar a operação resolve.
Resolver o token de identificação de compra do marketplace
Quando o comprador vai para a sua página de destino, um token é adicionado ao parâmetro de URL. Esse token é diferente tanto do token emitido pelo Microsoft Entra ID quanto do token de acesso usado para autenticação de serviço a serviço, e é usado como entrada para a chamada de resolução das APIs de processamento de SaaS para obter os detalhes da assinatura. Assim como acontece com todas as chamadas para as APIs de processamento de SaaS, sua solicitação de serviço a serviço será autenticada com um token de acesso baseado no usuário da ID do Aplicativo Microsoft Entra do aplicativo para autenticação serviço a serviço.
Observação
Na maioria dos casos, é preferível fazer essa chamada de um segundo aplicativo de locatário único. Confira Usar dois aplicativos do Microsoft Entra para melhorar a segurança em produção anteriormente neste artigo.
Solicitar um token de acesso
Para autenticar seu aplicativo com as APIs de atendimento de SaaS, você precisa de um token de acesso, que pode ser gerado chamando o endpoint OAuth do Microsoft Entra ID. Confira Como obter o token de autorização do editor.
Chamar o ponto de extremidade de resolução
As APIs de processamento de SaaS implementam o ponto de extremidade resolve, que pode ser chamado para confirmar a validade do token do marketplace e para retornar informações sobre a assinatura.
Ler informações de declarações codificadas no token de ID
Como parte do fluxo do OpenID Connect, insira o valor da ID do locatário que você recebe em https://login.microsoftonline.com/{tenant}/v2.0
. O Microsoft Entra ID adiciona um token de ID à solicitação quando o comprador é enviado para a página de aterrissagem. Esse token contém várias informações básicas que podem ser úteis no processo de ativação, incluindo as informações vistas nesta tabela.
Valor | Descrição |
---|---|
aud | Público-alvo pretendido para esse token. Nesse caso, isso deve corresponder à ID do Aplicativo e ser validado. |
nome_de_usuário_preferido | Nome de usuário primário do usuário visitante. Pode ser um endereço de email, um número de telefone ou outro identificador. |
Endereço de email do usuário. Observe que esse campo pode estar vazio. | |
Nome | Valor legível por humanos que identifica o assunto do token. Nesse caso, será o nome do comprador. |
oid | Identificador no sistema de identidade da Microsoft que identifica exclusivamente o usuário entre aplicativos. O Microsoft Graph retornará esse valor como a propriedade ID de uma determinada conta de usuário. |
tid | Identificador que representa o locatário do Microsoft Entra ao qual o comprador está vinculado. No caso de uma identidade MSA, sempre será 9188040d-6c67-4c5b-b112-36a304b66dad . Para obter mais informações, consulte a observação na próxima seção: Use a API do Microsoft Graph. |
sub | Identificador que identifica exclusivamente o usuário neste aplicativo específico. |
Usar a API do Microsoft Graph
O token de ID contém informações básicas para identificar o comprador, mas seu processo de ativação pode exigir detalhes adicionais, como a empresa do comprador, para concluir o processo de integração. Use o da API do Microsoft Graph para solicitar essas informações para evitar forçar o usuário a inserir esses detalhes novamente. As permissões de User.Read padrão incluem as seguintes informações, por padrão.
Valor | Descrição |
---|---|
displayName | Nome exibido no catálogo de endereços do usuário. |
givenName | Nome do usuário. |
jobTitle | Cargo do usuário. |
Endereço SMTP para o usuário. | |
mobilePhone | Número de telefone celular primário para o usuário. |
preferredLanguage | Código ISO 639-1 para o idioma preferencial do usuário. |
surname | Sobrenome do usuário. |
Propriedades adicionais, como o nome da empresa do usuário ou a localização do usuário (país/região), podem ser selecionadas para inclusão na solicitação. Veja as propriedades de para o tipo de recurso de usuário para mais detalhes.
A maioria dos aplicativos registrados com a ID do Microsoft Entra concede permissões delegadas para ler as informações do usuário do locatário do Microsoft Entra de sua empresa. Qualquer solicitação ao Microsoft Graph para essas informações deve ser acompanhada por um token de acesso para autenticação. Etapas específicas para gerar o token de acesso dependerão da pilha de tecnologia que você está usando, mas o código de exemplo conterá um exemplo. Confira mais informações em Obter acesso em nome de um usuário.
Observação
As contas do locatário do MSA (com ID do locatário 9188040d-6c67-4c5b-b112-36a304b66dad
) não retornarão mais informações do que já foi coletado com o token de ID. Portanto, você pode ignorar essa chamada para a API do Graph para essas contas.
Conteúdo relacionado
Tutoriais em vídeo