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.

Viktigt!

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 funktioner görs endast 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: Utfasning av Azure AD Graph Och Utfasning av Powershell-moduler.

Översikt

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 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.

Kommentar

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:

  1. Skapa en Microsoft Entra-appregistrering för landningssidan.
  2. Använd ett kodexempel som utgångspunkt för din app.
  3. Använd två Microsoft Entra-appar för att förbättra säkerheten i produktionen.
  4. Lös marketplace-inköpsidentifieringstoken som lagts till i URL:en av den kommersiella marknadsplatsen.
  5. Läs information från anspråk som kodades i ID-token, som togs emot från Microsoft Entra-ID efter inloggning, som skickades med begäran.
  6. 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. (Url:en för landningssidan anges i erbjudandets Sidan Teknisk konfiguration .)

Dricks

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 att 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 konfigurerar du det nya programmet 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 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örsmedgivande, eftersom 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 funktionen för inkrementellt medgivande i Microsoft Entra-ID så att alla köpare som skickas från marknadsplatsen kan interagera initialt 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 ditt program har registrerats i Microsoft Entra-ID innehåller snabbstartsbladet en lista över vanliga programtyper och utvecklingsstackar som visas i bild 1. Välj den som matchar din miljö och följ anvisningarna för nedladdning och installation.

Bild 1: Snabbstartsblad i Azure-portalen

Visar 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 beskrev programmet för landningssidan för flera klientorganisationer fram till den här punkten, förutom utan funktioner för att kontakta Api:erna för SaaS-uppfyllande. Den här funktionen kommer att avlastas till ett annat program enligt beskrivningen nedan.
  • För det andra ett program som äger kommunikationen med Api:erna för SaaS-uppfyllande. Det här programmet ska vara en enskild klientorganisation, endast för att användas 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.

Detta gör det möjligt för lösningen att arbeta i scenarier som observerar principen om separation av problem . 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 Api:erna för SaaS-uppfyllelse och anropa åtgärden resolve.

Lösa marketplace-inköpsidentifieringstoken

När köparen skickas till landningssidan läggs en token till i URL-parametern. Den här token skiljer sig från både den Utfärdade Token för Microsoft Entra-ID och den åtkomsttoken som används för tjänst-till-tjänst-autentisering och används som indata för SaaS-uppfyllande-API:erna för att lösa anropet för att få information 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.

Kommentar

I de flesta fall är det bättre att göra det här anropet från ett andra program med en klientorganisation. Se Använda två Microsoft Entra-appar för att förbättra säkerheten i produktion 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 Hämta utgivarens auktoriseringstoken.

Anropa lösningsslutpunkten

Api:erna för SaaS-uppfyllande implementerar den lösningsslutpunkt som kan anropas för att bekräfta giltigheten för marketplace-token och för att returnera information om prenumerationen.

Läs information från anspråk som kodas i ID-token

Som en del av OpenID-Anslut-flödet placerar du det klient-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 Avsedd målgrupp för den här token. I det här fallet bör det matcha ditt program-ID och verifieras.
preferred_username 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.
name 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 9188040d-6c67-4c5b-b112-36a304b66daddetta alltid . 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:et 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
displayName Namnet visas i adressboken för användaren.
givenName Användarens förnamn.
jobTitle Användarens befattning.
e-post SMTP-adress för användaren.
mobilePhone Användarens primära mobiltelefonnummer.
preferredLanguage ISO 639-1-kod för användarens föredragna språk.
surname 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. Mer information finns i Få åtkomst för en användares räkning.

Kommentar

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.

Nästa steg

Videovägledningar