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 Belangrijk: Buitengebruikstelling van Azure AD Graph en Afschaffing van Powershell-module voor meer informatie.
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 eenmalige aanmelding gebruiken om de gebruiker in staat te stellen zich aan te melden. Het wordt aanbevolen om de gebruiker naar een accountprofiel of configuratiepagina te leiden.
In de volgende secties wordt u begeleid bij het maken van een landingspagina:
- Maak een Microsoft Entra-app-registratie voor de landingspagina.
- Gebruik een codevoorbeeld als uitgangspunt voor uw app.
- Gebruik twee Microsoft Entra-apps om de beveiliging in productie te verbeteren.
- Los het marketplace-aankoopidentificatietoken op dat is toegevoegd aan de URL door de commerciële marketplace.
- Lees informatie van claims die zijn gecodeerd in het id-token, dat is ontvangen van Microsoft Entra ID na aanmelding, die is verzonden met de aanvraag.
- Gebruik de Microsoft Graph API om aanvullende informatie te verzamelen, indien nodig.
Een Microsoft Entra-app-registratie maken
De commerciële marketplace is volledig geïntegreerd met Microsoft Entra ID. Kopers komen aan op de marketplace die is geverifieerd met een Microsoft Entra-account of Een 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 is opgegeven in de aanbieding Pagina technische configuratie .)
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 via de Azure Portal
Volg de instructies voor het registreren van een nieuwe toepassing om aan de slag te gaan. 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, configureert u uw nieuwe toepassing 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 , heeft beheerderstoestemming nodig, omdat alle niet-beheerdersgebruikers geen toegang hebben tot uw landingspagina.
Als u verhoogde machtigingen nodig hebt als onderdeel van uw onboarding- of inrichtingsproces, kunt u overwegen om de incrementele toestemmingsfunctionaliteit van Microsoft Entra ID te gebruiken, zodat alle kopers die vanuit de marketplace worden verzonden, in eerste instantie kunnen communiceren met de landingspagina.
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, biedt 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: Blade Quickstart 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:
- Eerst wordt de toepassing voor de landingspagina met meerdere tenants tot dit punt beschreven, behalve zonder de functionaliteit om contact op te maken met de SaaS-uitvoerings-API's. Deze functionaliteit wordt offload naar 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 de scheiding van het principe van problemen 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 van zowel het door Microsoft Entra ID uitgegeven token als het toegangstoken dat wordt gebruikt voor service-naar-service-verificatie en wordt gebruikt als invoer voor de SaaS-fulfillment-API's om de aanroep voor het ophalen van 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 Het autorisatietoken van de uitgever ophalen.
Het eindpunt voor oplossen aanroepen
De SaaS-uitvoerings-API's implementeren het eindpunt voor oplossen dat kan worden aangeroepen om de geldigheid van het Marketplace-token te bevestigen en om informatie over het abonnement te retourneren.
Informatie lezen van claims die zijn gecodeerd in het id-token
Als onderdeel van de OpenID Connect-stroom plaatst u de tenant-id-waarde die https://login.microsoftonline.com/{tenant}/v2.0
u ontvangt. 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.
Weergegeven als | Beschrijving |
---|---|
aud | Beoogde doelgroep voor dit token. In dit geval moet deze overeenkomen met uw toepassings-id en worden gevalideerd. |
preferred_username | Primaire gebruikersnaam van de bezoekende gebruiker. Dit kan een e-mailadres, telefoonnummer of andere id zijn. |
e-mailadres | 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. |
tid | Id van de Microsoft Entra-tenant waaruit de koper afkomstig is. In het geval van een MSA-identiteit is 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.
Weergegeven als | Omschrijving |
---|---|
displayName | De naam die wordt weergegeven in het adresboek voor de gebruiker. |
givenName | Voornaam van de gebruiker. |
jobTitle | Functie van gebruiker. |
SMTP-adres voor de gebruiker. | |
mobilePhone | Primair mobiel telefoonnummer voor de gebruiker. |
preferredLanguage | ISO 639-1-code voor de voorkeurstaal van de gebruiker. |
surname | 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 gebruiker voor 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.
Gerelateerde inhoud
Videozelfstudies