Skapa landningssidan för ditt transakterbara SaaS-erbjudande på den kommersiella marknadsplatsen
Den här artikeln vägleder dig genom processen att skapa en landningssida för en transaktionsbar SaaS-app som kommer att säljas på Microsofts kommersiella marknadsplats.
Viktig
Azure Active Directory (Azure AD) Graph är inaktuell från och med den 30 juni 2023. Framöver gör vi inga ytterligare investeringar i Azure AD Graph. Azure AD Graph-API:er har inget serviceavtal eller underhållsåtagande utöver säkerhetsrelaterade korrigeringar. Investeringar i nya funktioner och funktionaliteter kommer endast att göras i Microsoft Graph.
Vi drar tillbaka Azure AD Graph i stegvisa steg så att du har tillräckligt med tid för att migrera dina program till Microsoft Graph-API:er. Vid ett senare tillfälle som vi kommer att meddela kommer vi att blockera skapandet av nya program med hjälp av Azure AD Graph.
Mer information finns i Viktigt: Pensionering av Azure AD Graph och avveckling av Powershell-moduler.
Överblick
Du kan se landningssidan som "lobbyn" för ditt saaS-erbjudande (software as a service). När köparen prenumererar på ett erbjudande dirigerar den kommersiella marknadsplatsen dem till landningssidan för att aktivera och konfigurera sin prenumeration på din SaaS-app. Tänk på detta som ett orderbekräftelsesteg som låter köparen se vad de har köpt och bekräfta sina kontouppgifter. Med Hjälp av Microsoft Entra ID och Microsoft Graph aktiverar du enkel inloggning (SSO) för köparen och får viktig information om köparen som du kan använda för att bekräfta och aktivera deras prenumeration, inklusive deras namn, e-postadress och organisation.
Eftersom den information som behövs för att aktivera prenumerationen är begränsad och tillhandahålls av Microsoft Entra ID och Microsoft Graph bör det inte finnas något behov av att begära information som kräver mer än grundläggande medgivande. Om du behöver användarinformation som kräver ytterligare medgivande för ditt program bör du begära den här informationen när prenumerationsaktiveringen har slutförts. Detta möjliggör friktionsfri prenumerationsaktivering för köparen och minskar risken för övergivande.
Landningssidan innehåller vanligtvis följande:
- Presentera namnet på erbjudandet och planen som köpts, samt faktureringsvillkoren.
- Presentera köparens kontoinformation, inklusive för- och efternamn, organisation och e-post.
- Uppmana köparen att bekräfta eller ersätta olika kontouppgifter.
- Vägleder köparen om nästa steg efter aktiveringen. Du kan till exempel få ett välkomstmeddelande, hantera prenumerationen, få support eller läsa dokumentation.
Notis
Köparen kommer också att dirigeras till landningssidan när de hanterar sin prenumeration efter aktivering. När köparens prenumeration har aktiverats måste du använda enkel inloggning för att användaren ska kunna logga in. Vi rekommenderar att du dirigerar användaren till en kontoprofil eller konfigurationssida.
Följande avsnitt vägleder dig genom processen att skapa en landningssida:
- Skapa en Microsoft Entra-appregistrering för landningssidan.
- Använd ett kodexempel som utgångspunkt för din app.
- Använd två Microsoft Entra-appar för att förbättra säkerheten i produktionsmiljön.
- Lös upp identifieringstoken för marknadsplatsköp som lagts till i URL:en av den kommersiella marknadsplatsen.
- Läs information från krav som har kodats i ID-tokenen och tagits emot från Microsoft Entra ID efter inloggning och som skickades med begäran.
- Använd Microsoft Graph API- för att samla in ytterligare information efter behov.
Skapa en Microsoft Entra-appregistrering
Den kommersiella marknadsplatsen är helt integrerad med Microsoft Entra-ID. Köpare kommer till marknadsplatsen autentiserade med ett Microsoft Entra-konto eller Microsoft-konto (MSA). Efter köpet går köparen från den kommersiella marknadsplatsen till webbadressen till landningssidan för att aktivera och hantera sin prenumeration på ditt SaaS-program. Du måste låta köparen logga in på ditt program med Microsoft Entra SSO. (Erbjudandets landningssida URL anges i Teknisk konfiguration-sidan.)
Tips
Ta inte med tecknet för pund (#) i målsidans URL. Annars kommer kunderna inte att kunna komma åt din landningssida.
Det första steget för att använda identiteten är att se till att landningssidan är registrerad som ett Microsoft Entra-program. Genom att registrera programmet kan du använda Microsoft Entra-ID för att autentisera användare och begära åtkomst till användarresurser. Det kan betraktas som programmets definition, som låter tjänsten veta hur token utfärdas till appen baserat på appens inställningar.
Registrera ett nytt program med hjälp av Azure-portalen
Kom igång genom att följa anvisningarna för registrera ett nytt program. Om du vill låta användare från andra företag besöka appen måste du välja ett av alternativen för flera klientorganisationer när du tillfrågas om vem som kan använda programmet.
Om du tänker köra frågor mot Microsoft Graph-API:et konfigurera ditt nya program för åtkomst till webb-API:er. När du väljer API-behörigheter för det här programmet räcker standardvärdet för User.Read för att samla in grundläggande information om köparen för att göra registreringsprocessen smidig och automatisk. Begär inte några API-behörigheter som är märkta behöver administratörsmedgivandeeftersom detta blockerar alla icke-administratörsanvändare från att besöka landningssidan.
Om du behöver utökade behörigheter som en del av din registrering eller etableringsprocess bör du överväga att använda inkrementellt medgivande funktionen i Microsoft Entra ID så att alla köpare som skickas från marknadsplatsen kan inledningsvis interagera med landningssidan.
Använda ett kodexempel som utgångspunkt
Vi har tillhandahållit flera exempelappar som implementerar en enkel webbplats med Microsoft Entra-inloggning aktiverat. När programmet har registrerats i Microsoft Entra-ID innehåller bladet snabbstart en lista över vanliga programtyper och utvecklingsstackar enligt bild 1. Välj den som matchar din miljö och följ anvisningarna för nedladdning och installation.
bild 1: Snabbstartsbladet i Azure-portalen
När du har hämtat koden och konfigurerat utvecklingsmiljön ändrar du konfigurationsinställningarna i appen så att de återspeglar program-ID, klient-ID och klienthemlighet som du registrerade i föregående procedur. Observera att de exakta stegen varierar beroende på vilket exempel du använder.
Använda två Microsoft Entra-appar för att förbättra säkerheten i produktion
Den här artikeln innehåller en förenklad version av arkitekturen för att implementera en landningssida för ditt saaS-erbjudande på den kommersiella marknadsplatsen. När du kör sidan i produktion rekommenderar vi att du förbättrar säkerheten genom att kommunicera med API:erna för SaaS-uppfyllande endast via ett annat skyddat program. Detta kräver att två nya program skapas:
- Först, multitenant landningssida-applikationen beskrivs fram till denna punkt, förutom att den saknar funktionalitet för att nå SaaS-uppfyllnads-API:erna. Den här funktionen kommer att avlastas till ett annat program enligt beskrivningen nedan.
- För det andra, en applikation för att hantera kommunikationen med API:erna för SaaS-fullgörande. Det här programmet ska vara ett enkelt hyresgästsystem, och användas endast av din organisation, och en lista över åtkomstkontroll kan upprättas för att begränsa åtkomsten till API:erna från endast den här appen.
På så sätt kan lösningen fungera i scenarier som observerar avgränsning av problem princip. Landningssidan använder till exempel den första registrerade Microsoft Entra-appen för att logga in användaren. När användaren har loggat in använder landningssidan det andra Microsoft Entra-ID:t för att begära en åtkomsttoken för att anropa SaaS-uppfyllelse-API:erna och utföra resolve-operationen.
Lös identifieringstoken för marknadsplatsköp
När köparen skickas till landningssidan läggs en token till i URL-parametern. Den här tokenen skiljer sig från både den token som utfärdats av Microsoft Entra ID och den åtkomsttoken som används för tjänst-till-tjänst-autentisering, och den används som inmatning för SaaS-uppfyllnads-API:ernas resolve-anrop för att få detaljer om prenumerationen. Precis som med alla anrop till Api:erna för SaaS-uppfyllande autentiseras din tjänst-till-tjänst-begäran med en åtkomsttoken som baseras på appens Microsoft Entra Application ID-användare för tjänst-till-tjänst-autentisering.
Anteckning
I de flesta fall är det bättre att göra det här anropet från en andra, single-tenant applikation. Se Använd två Microsoft Entra-appar för att förbättra säkerheten i produktionsmiljön tidigare i den här artikeln.
Begära en åtkomsttoken
För att autentisera ditt program med Api:erna för SaaS-uppfyllande behöver du en åtkomsttoken som kan genereras genom att anropa Microsoft Entra ID OAuth-slutpunkten. Se Information om hur du hämtar utgivarens auktoriseringsnyckel.
Anropa lösningsslutpunkten
Api:erna för SaaS-leverans implementerar API-endpunkten resolve och kan anropas för att bekräfta giltigheten för marknadsplats-token och returnera information om prenumerationen.
Läs information från påståenden som är kodade i ID-tokenerna
Som en del av OpenID Connect--flödet placerar du det hyresgästs-ID-värde som du får i https://login.microsoftonline.com/{tenant}/v2.0
. Microsoft Entra-ID lägger till en ID-token till begäran när köparen skickas till landningssidan. Den här token innehåller flera grundläggande uppgifter som kan vara användbara i aktiveringsprocessen, inklusive den information som visas i den här tabellen.
Värde | Beskrivning |
---|---|
Aud | Den avsedda målgruppen för denna token. I det här fallet bör det matcha ditt program-ID och verifieras. |
föredraget_användarnamn | Det primära användarnamnet för den besökande användaren. Det kan vara en e-postadress, ett telefonnummer eller en annan identifierare. |
E-post | Användarens e-postadress. Observera att det här fältet kan vara tomt. |
Namn | Mänskligt läsbart värde som identifierar tokens ämne. I det här fallet blir det köparens namn. |
Oid | Identifierare i Microsofts identitetssystem som unikt identifierar användaren i olika program. Microsoft Graph returnerar det här värdet som ID-egenskap för ett visst användarkonto. |
tid | Identifierare som representerar Microsoft Entra-klientorganisationen som köparen kommer från. När det gäller en MSA-identitet är detta alltid 9188040d-6c67-4c5b-b112-36a304b66dad . Mer information finns i anteckningen i nästa avsnitt: Använd Microsoft Graph API. |
under | Identifierare som unikt identifierar användaren i det här specifika programmet. |
Använda Microsoft Graph API
ID-token innehåller grundläggande information för att identifiera köparen, men aktiveringsprocessen kan kräva ytterligare information – till exempel köparens företag – för att slutföra registreringsprocessen. Använd Microsoft Graph API för att begära den här informationen för att undvika att tvinga användaren att ange informationen igen. Standardbehörigheterna User.Read innehåller som standard följande information.
Värde | Beskrivning |
---|---|
visningsnamn | Namnet visas i adressboken för användaren. |
givenName | Användarens förnamn. |
Jobbtitel | Användarens befattning. |
e-post | SMTP-adress för användaren. |
mobiltelefon | Användarens primära mobiltelefonnummer. |
föredraget språk | ISO 639-1-kod för användarens föredragna språk. |
efternamn | Användarens efternamn. |
Ytterligare egenskaper– till exempel namnet på användarens företag eller användarens plats (land/region)– kan väljas för att inkluderas i begäran. Mer information finns i egenskaper för användarresurstypen.
De flesta appar som är registrerade med Microsoft Entra-ID beviljar delegerade behörigheter för att läsa användarens information från företagets Microsoft Entra-klientorganisation. Alla förfrågningar till Microsoft Graph om den informationen måste åtföljas av en åtkomsttoken för autentisering. Specifika steg för att generera åtkomsttoken beror på vilken teknikstack du använder, men exempelkoden innehåller ett exempel. För mer information, se Få åtkomst på uppdrag av en användare.
Notis
Konton från MSA-klientorganisationen (med klient-ID 9188040d-6c67-4c5b-b112-36a304b66dad
) returnerar inte mer information än vad som redan har samlats in med ID-token. Så du kan hoppa över det här anropet till Graph API för dessa konton.
Relaterat innehåll
Video-självstudier