Delen via


Bouw de landingspagina voor uw transactable SaaS-aanbieding in de commerciële marketplace

In dit artikel wordt u begeleid bij het bouwen van een landingspagina voor een transactable SaaS-app die wordt verkocht op de commerciële marketplace van Microsoft.

Belangrijk

Azure Active Directory (Azure AD) Graph is vanaf 30 juni 2023 afgeschaft. In de toekomst doen we geen verdere investeringen in Azure AD Graph. Azure AD Graph-API's hebben geen SLA of onderhoudsverplichting buiten beveiligingsgerelateerde oplossingen. Investeringen in nieuwe functies en functionaliteiten worden alleen gedaan in Microsoft Graph.

Azure AD Graph wordt in incrementele stappen buiten gebruik gesteld, zodat u voldoende tijd hebt om uw toepassingen te migreren naar Microsoft Graph-API's. Op een later tijdstip dat we zullen aankondigen, blokkeren we het maken van nieuwe toepassingen met behulp van Azure AD Graph.

Zie voor meer informatie Belangrijk: Buitengebruikstelling van Azure AD Graph en Afschaffing van PowerShell-module.

Overzicht

U kunt de landingspagina beschouwen als de 'lobby' voor uw SaaS-aanbieding (Software as a Service). Nadat de koper zich heeft geabonneerd op een aanbieding, stuurt de commerciële marketplace deze naar de landingspagina om hun abonnement te activeren en te configureren voor uw SaaS-toepassing. U kunt dit zien als een orderbevestigingsstap waarmee de koper kan zien wat ze hebben gekocht en hun accountgegevens kunnen bevestigen. Met Behulp van Microsoft Entra ID en Microsoft Graph schakelt u eenmalige aanmelding (SSO) in voor de koper en krijgt u belangrijke informatie over de koper die u kunt gebruiken om hun abonnement te bevestigen en activeren, inclusief hun naam, e-mailadres en organisatie.

Omdat de informatie die nodig is om het abonnement te activeren beperkt is en wordt geleverd door Microsoft Entra ID en Microsoft Graph, hoeft u geen informatie aan te vragen waarvoor meer dan basistoestemming is vereist. Als u gebruikersgegevens nodig hebt waarvoor aanvullende toestemming voor uw toepassing is vereist, moet u deze informatie aanvragen nadat de activering van het abonnement is voltooid. Hierdoor wordt de activering van een abonnement zonder wrijving voor de koper mogelijk en wordt het risico op afbreken verlaagd.

De landingspagina bevat doorgaans het volgende:

  • Geef de naam van de aangeschafte aanbieding en het abonnement en de factureringsvoorwaarden weer.
  • Presenteer de accountgegevens van de koper, inclusief voor- en achternaam, organisatie en e-mail.
  • Vraag de koper om verschillende accountgegevens te bevestigen of te vervangen.
  • Leid de koper bij de volgende stappen na activering. U kunt bijvoorbeeld een welkomstbericht ontvangen, het abonnement beheren, ondersteuning krijgen of documentatie lezen.

Notitie

De koper wordt ook omgeleid naar de landingspagina bij het beheren van hun abonnement na activering. Nadat het abonnement van de koper is geactiveerd, moet u SSO gebruiken om de gebruiker eenvoudig te laten inloggen. Het is raadzaam om de gebruiker naar een accountprofiel of configuratiepagina te leiden.

In de volgende secties wordt u begeleid bij het maken van een landingspagina:

  1. Een Microsoft Entra-app-registratie maken voor de landingspagina.
  2. Gebruik een codevoorbeeld als uitgangspunt voor uw app.
  3. Gebruik twee Microsoft Entra-apps om de beveiliging in productiete verbeteren.
  4. Los het ID-token voor Marktplaats-aankoop op dat is toegevoegd aan de URL door de commerciële Marktplaats.
  5. Lees informatie van claims die gecodeerd zijn in het ID-token, ontvangen van Microsoft Entra ID na het inloggen, dat met het verzoek is verzonden.
  6. Gebruik de Microsoft Graph API- om, indien nodig, aanvullende informatie te verzamelen.

Een Microsoft Entra-app-registratie maken

De commerciële marketplace is volledig geïntegreerd met Microsoft Entra ID. Kopers komen op de marktplaats aan nadat ze zijn geverifieerd met een Microsoft Entra-account of Microsoft-account (MSA). Na aankoop gaat de koper van de commerciële marketplace naar de URL van uw landingspagina om hun abonnement van uw SaaS-toepassing te activeren en te beheren. U moet de koper zich laten aanmelden bij uw toepassing met Microsoft Entra SSO. (De URL van de landingspagina wordt opgegeven in de technische configuratie van de aanbieding pagina.)

Tip

Neem het hekjeteken (#) niet op in de URL van de landingspagina. Anders hebben klanten geen toegang tot uw landingspagina.

De eerste stap bij het gebruik van de identiteit is ervoor te zorgen dat uw landingspagina is geregistreerd als een Microsoft Entra-toepassing. Als u de toepassing registreert, kunt u Microsoft Entra-id gebruiken om gebruikers te verifiëren en toegang tot gebruikersbronnen aan te vragen. Het kan worden beschouwd als de definitie van de toepassing, waarmee de service weet hoe tokens aan de app moeten worden verzonden op basis van de instellingen van de app.

Een nieuwe toepassing registreren met behulp van Azure Portal

Om aan de slag te gaan, volg de instructies voor het registreren van een nieuwe toepassing . Als u gebruikers van andere bedrijven de app wilt laten bezoeken, moet u een van de opties voor meerdere tenants kiezen wanneer u wordt gevraagd wie de toepassing kan gebruiken.

Als u een query wilt uitvoeren op de Microsoft Graph API, uw nieuwe toepassing configureren voor toegang tot web-API's. Wanneer u de API-machtigingen voor deze toepassing selecteert, is de standaardwaarde van User.Read voldoende om basisinformatie over de koper te verzamelen om het onboardingproces soepel en automatisch te laten verlopen. Vraag geen API-machtigingen aan die zijn gelabeld beheerderstoestemming nodig heeft, omdat hierdoor alle niet-beheerdersgebruikers uw landingspagina niet kunnen bezoeken.

Als u verhoogde machtigingen nodig hebt als onderdeel van uw onboarding- of inrichtingsproces, kunt u overwegen de incrementele toestemming te gebruiken functionaliteit van Microsoft Entra ID, zodat alle kopers die vanuit de marketplace worden verzonden, in eerste instantie met de landingspagina kunnen communiceren.

Een codevoorbeeld gebruiken als uitgangspunt

We hebben verschillende voorbeeld-apps geleverd die een eenvoudige website implementeren waarvoor Aanmelding bij Microsoft Entra is ingeschakeld. Nadat uw toepassing is geregistreerd in Microsoft Entra ID, bevat de blade Quickstart een lijst met algemene toepassingstypen en ontwikkelingsstacks, zoals te zien is in afbeelding 1. Kies degene die overeenkomt met uw omgeving en volg de instructies voor het downloaden en instellen.

Afbeelding 1: Quickstartblade in Azure Portal

Illustreert de quickstart-blade in Azure Portal.

Nadat u de code hebt gedownload en uw ontwikkelomgeving hebt ingesteld, wijzigt u de configuratie-instellingen in de app zodat deze overeenkomt met de toepassings-id, tenant-id en het clientgeheim dat u in de vorige procedure hebt vastgelegd. Houd er rekening mee dat de exacte stappen verschillen, afhankelijk van het voorbeeld dat u gebruikt.

Twee Microsoft Entra-apps gebruiken om de beveiliging in productie te verbeteren

Dit artikel bevat een vereenvoudigde versie van de architectuur voor het implementeren van een landingspagina voor uw SaaS-aanbieding voor commerciële marketplace. Wanneer u de pagina in productie uitvoert, wordt u aangeraden de beveiliging te verbeteren door alleen via een andere, beveiligde toepassing te communiceren met de SaaS-fulfillment-API's. Hiervoor moeten twee nieuwe toepassingen worden gemaakt:

  • Ten eerste is de toepassing voor de landingspagina met meerdere tenants tot dit punt beschreven, maar zonder de functionaliteit voor contact met de SaaS-uitvoerings-API's. Deze functionaliteit wordt overgedragen aan een andere toepassing, zoals hieronder wordt beschreven.
  • Ten tweede: een toepassing die eigenaar is van de communicatie met de SaaS-fulfillment-API's. Deze toepassing moet één tenant zijn, alleen worden gebruikt door uw organisatie en er kan een toegangsbeheerlijst worden ingesteld om de toegang tot de API's van alleen deze app te beperken.

Hierdoor kan de oplossing werken in scenario's die het scheiding van verantwoordelijkheden principe observeren. Op de landingspagina wordt bijvoorbeeld de eerste geregistreerde Microsoft Entra-app gebruikt om de gebruiker aan te melden. Nadat de gebruiker is aangemeld, gebruikt de landingspagina de tweede Microsoft Entra-id om een toegangstoken aan te vragen om de SaaS-fulfillment-API's aan te roepen en de oplossingsbewerking aan te roepen.

Het marketplace-aankoopidentificatietoken oplossen

Wanneer de koper naar uw landingspagina wordt verzonden, wordt er een token toegevoegd aan de URL-parameter. Dit token verschilt zowel van het door Microsoft Entra ID uitgegeven token als van het toegangstoken dat wordt gebruikt voor service-naar-service-authenticatie. Het dient als input voor de SaaS-fulfillment-API's-aanroep om de details van het abonnement op te halen. Net als bij alle aanroepen naar de SaaS-fulfillment-API's, wordt uw service-naar-service-aanvraag geverifieerd met een toegangstoken dat is gebaseerd op de Microsoft Entra Application ID-gebruiker van de app voor service-naar-service-verificatie.

Notitie

In de meeste gevallen is het raadzaam om deze aanroep te doen vanuit een tweede toepassing met één tenant. Zie Twee Microsoft Entra-apps gebruiken om de beveiliging in productie eerder in dit artikel te verbeteren.

Een toegangstoken aanvragen

Als u uw toepassing wilt verifiëren met de SaaS-fulfillment-API's, hebt u een toegangstoken nodig dat kan worden gegenereerd door het OAuth-eindpunt voor Microsoft Entra-id aan te roepen. Zie Hoe het autorisatietoken van de uitgever te verkrijgen.

Het eindpunt voor oplossen aanroepen

De SaaS-verwerkings-API's implementeren het -eindpunt dat kan worden aangeroepen om de geldigheid van de marketplace-token te bevestigen en informatie over het abonnement terug te geven.

Informatie lezen van claims die zijn gecodeerd in het id-token

Als onderdeel van de OpenID Connect flow plaatst u de tenant-ID die u ontvangt in https://login.microsoftonline.com/{tenant}/v2.0. Microsoft Entra ID voegt een ID-token toe aan de aanvraag wanneer de koper naar de landingspagina wordt verzonden. Dit token bevat meerdere stukjes basisinformatie die nuttig kunnen zijn in het activeringsproces, inclusief de informatie die in deze tabel wordt weergegeven.

Waarde Beschrijving
Aud Beoogde doelgroep voor dit token. In dit geval moet deze overeenkomen met uw toepassings-id en worden gevalideerd.
voorkeursgebruikersnaam Primaire gebruikersnaam van de bezoekende gebruiker. Dit kan een e-mailadres, telefoonnummer of andere id zijn.
e-mail Het e-mailadres van de gebruiker. Houd er rekening mee dat dit veld mogelijk leeg is.
naam Door mensen leesbare waarde die het onderwerp van het token identificeert. In dit geval is het de naam van de koper.
Oid Id in het Microsoft-identiteitssysteem waarmee de gebruiker uniek wordt geïdentificeerd in verschillende toepassingen. Microsoft Graph retourneert deze waarde als de id-eigenschap voor een bepaald gebruikersaccount.
Tijd Id van de Microsoft Entra-tenant waaruit de koper afkomstig is. In het geval van een MSA-identiteit wordt dit altijd 9188040d-6c67-4c5b-b112-36a304b66dad. Zie de opmerking in de volgende sectie voor meer informatie: De Microsoft Graph API gebruiken.
sub Id waarmee de gebruiker in deze specifieke toepassing uniek wordt geïdentificeerd.

De Microsoft Graph API gebruiken

Het id-token bevat basisinformatie om de koper te identificeren, maar het activeringsproces vereist mogelijk aanvullende informatie, zoals het bedrijf van de koper, om het onboardingproces te voltooien. Gebruik de Microsoft Graph API- om deze informatie aan te vragen om te voorkomen dat de gebruiker deze gegevens opnieuw invoert. De standaardmachtigingen User.Read bevatten standaard de volgende informatie.

Waarde Beschrijving
weergavenaam De naam die wordt weergegeven in het adresboek voor de gebruiker.
voornaam Voornaam van de gebruiker.
functietitel Functie van gebruiker.
post SMTP-adres voor de gebruiker.
mobiele telefoon Primair mobiel telefoonnummer voor de gebruiker.
Voorkeurstaal ISO 639-1-code voor de voorkeurstaal van de gebruiker.
achternaam Achternaam van de gebruiker.

Aanvullende eigenschappen, zoals de naam van het bedrijf van de gebruiker of de locatie van de gebruiker (land/regio) kunnen worden geselecteerd voor opname in de aanvraag. Zie eigenschappen voor het type gebruikersresource voor meer informatie.

De meeste apps die zijn geregistreerd bij Microsoft Entra ID verlenen gedelegeerde machtigingen om de gegevens van de gebruiker te lezen uit de Microsoft Entra-tenant van hun bedrijf. Elke aanvraag bij Microsoft Graph voor die informatie moet vergezeld gaan van een toegangstoken voor verificatie. Specifieke stappen voor het genereren van het toegangstoken zijn afhankelijk van de technologiestack die u gebruikt, maar de voorbeeldcode bevat een voorbeeld. Zie Toegang krijgen namens een gebruikervoor meer informatie.

Notitie

Accounts van de MSA-tenant (met tenant-id 9188040d-6c67-4c5b-b112-36a304b66dad) retourneren niet meer informatie dan al is verzameld met het id-token. U kunt deze aanroep dus overslaan naar de Graph API voor deze accounts.

videozelfstudies