Tworzenie strony docelowej dla transakcyjnej oferty SaaS na platformie handlowej
Ten artykuł przeprowadzi Cię przez proces tworzenia strony docelowej dla transakcyjnej aplikacji SaaS, która zostanie sprzedana na platformie handlowej firmy Microsoft.
Ważny
Usługa Azure Active Directory (Azure AD) Graph jest przestarzała od 30 czerwca 2023 r. W przyszłości nie dokonujemy dalszych inwestycji w usłudze Azure AD Graph. Interfejsy API programu Graph usługi Azure AD nie mają umowy SLA ani zobowiązania do konserwacji poza poprawkami związanymi z zabezpieczeniami. Inwestycje w nowe funkcje i cechy będą realizowane tylko w programie Microsoft Graph.
Wycofamy program Azure AD Graph w krokach przyrostowych, aby mieć wystarczający czas na migrację aplikacji do interfejsów API programu Microsoft Graph. W późniejszym terminie ogłosimy, że zablokujemy tworzenie nowych aplikacji przy użyciu usługi Azure AD Graph.
Aby dowiedzieć się więcej, zobacz Ważne: wycofanie programu Azure AD Graph i zakończenie obsługi modułu programu PowerShell.
Przegląd
Możesz traktować stronę docelową jako "lobby" dla oferty oprogramowania jako usługi (SaaS). Gdy kupujący subskrybuje ofertę, platforma handlowa kieruje ich do strony docelowej w celu aktywowania i konfigurowania subskrypcji aplikacji SaaS. Pomyśl o tym jako o kroku potwierdzenia zamówienia, który pozwala nabywcy zobaczyć, co kupili i potwierdzili szczegóły konta. Korzystając z microsoft Entra ID i Microsoft Graph, włączysz logowanie jednokrotne dla kupującego i uzyskasz ważne informacje o nabywcy, którego możesz użyć do potwierdzenia i aktywowania subskrypcji, w tym ich nazwy, adresu e-mail i organizacji.
Ponieważ informacje potrzebne do aktywowania subskrypcji są ograniczone i udostępniane przez microsoft Entra ID i Microsoft Graph, nie powinno być potrzeby żądania informacji, które wymagają więcej niż podstawowej zgody. Jeśli potrzebujesz szczegółów użytkownika, które wymagają dodatkowej zgody dla aplikacji, po zakończeniu aktywacji subskrypcji należy zażądać tych informacji. Umożliwia to bezproblemową aktywację subskrypcji dla nabywcy i zmniejsza ryzyko porzucenia.
Strona docelowa zazwyczaj zawiera następujące elementy:
- Podaj nazwę oferty i zakupionego planu, a także warunki rozliczeniowe.
- Podaj szczegóły konta kupującego, w tym imię i nazwisko, organizację i adres e-mail.
- Monituj kupującego o potwierdzenie lub zastąpienie różnych szczegółów konta.
- Poprowadź kupującego w kwestii kolejnych kroków po aktywacji. Na przykład otrzymuj powitalną wiadomość e-mail, zarządzaj subskrypcją, uzyskaj pomoc techniczną lub przeczytaj dokumentację.
Notatka
Kupujący zostanie również skierowany do strony docelowej podczas zarządzania subskrypcją po aktywacji. Po aktywowaniu subskrypcji kupującego musisz użyć systemu logowania jednokrotnego, aby umożliwić użytkownikowi logowanie. Zaleca się przekierowanie użytkownika do profilu konta lub strony konfiguracji.
W poniższych sekcjach przedstawiono proces tworzenia strony docelowej:
- Utwórz rejestrację aplikacji Microsoft Entra dla strony docelowej.
- Użyj przykładu kodu jako punktu początkowego dla aplikacji.
- Użyj dwóch aplikacji firmy Microsoft Entra, aby zwiększyć bezpieczeństwo w środowisku produkcyjnym.
- Rozwiąż token identyfikacji zakupu na platformie handlowej, dodany do adresu URL przez komercyjną platformę handlową.
- Odczyt informacji z roszczeń zakodowanych w tokenie identyfikatora, który został otrzymany od Microsoft Entra ID po zalogowaniu i przesłany wraz z żądaniem.
- Użyj interfejsu API programu Microsoft Graph, aby zebrać dodatkowe informacje zgodnie z potrzebami.
Tworzenie rejestracji aplikacji Entra firmy Microsoft
Platforma handlowa jest w pełni zintegrowana z identyfikatorem Entra firmy Microsoft. Kupujący przybywają na platformę handlową uwierzytelnianą przy użyciu konta Microsoft Entra lub konta Microsoft (MSA). Po zakupie kupujący przechodzi z platformy handlowej do adresu URL strony docelowej, aby aktywować swoją subskrypcję aplikacji SaaS i zarządzać nią. Musisz zezwolić nabywcy na zalogowanie się do aplikacji przy użyciu logowania jednokrotnego firmy Microsoft Entra. (Adres URL strony docelowej jest określony na stronie konfiguracji technicznej oferty ).
Napiwek
Nie dołączaj znaku funta (#) do adresu URL strony docelowej. W przeciwnym razie klienci nie będą mogli uzyskać dostępu do strony docelowej.
Pierwszym krokiem do korzystania z tożsamości jest upewnienie się, że strona docelowa jest zarejestrowana jako aplikacja Firmy Microsoft Entra. Zarejestrowanie aplikacji umożliwia użycie identyfikatora Entra firmy Microsoft do uwierzytelniania użytkowników i żądania dostępu do zasobów użytkownika. Można ją uznać za definicję aplikacji, która pozwala usłudze wiedzieć, jak wystawiać tokeny do aplikacji na podstawie ustawień aplikacji.
Rejestrowanie nowej aplikacji przy użyciu witryny Azure Portal
Aby rozpocząć pracę, postępuj zgodnie z instrukcjami dotyczącymi rejestrowania nowej aplikacji . Aby umożliwić użytkownikom z innych firm odwiedzanie aplikacji, należy wybrać jedną z opcji wielotenancyjnych, gdy pojawi się zapytanie, kto może korzystać z aplikacji.
Jeśli zamierzasz wykonać zapytanie dotyczące interfejsu API programu Microsoft Graph, skonfiguruj nową aplikację, aby uzyskać dostęp do internetowych interfejsów API. Po wybraniu uprawnień interfejsu API dla tej aplikacji domyślna wartość User.Read wystarczy, aby zebrać podstawowe informacje o nabywcy, aby proces dołączania był bezproblemowy i automatyczny. Nie żądaj żadnych uprawnień interfejsu API oznaczonych etykietą wymaga zgody administratora, ponieważ spowoduje to zablokowanie wszystkim użytkownikom niebędącym administratorami odwiedzania strony docelowej.
Jeśli potrzebujesz podwyższonych uprawnień w ramach procesu dołączania lub aprowizacji, rozważ użycie zgody przyrostowej funkcjonalności Microsoft Entra ID, aby wszyscy nabywcy wysłani z witryny Marketplace mogli początkowo korzystać ze strony docelowej.
Używanie przykładu kodu jako punktu wyjścia
Udostępniliśmy kilka przykładowych aplikacji, które implementują prostą witrynę internetową z włączonym logowaniem firmy Microsoft Entra. Po zarejestrowaniu aplikacji w usłudze Microsoft Entra ID, panel szybkiego startu oferuje listę typowych typów aplikacji i stosów programistycznych, jak pokazano na rysunku 1. Wybierz ten, który jest zgodny ze środowiskiem, i postępuj zgodnie z instrukcjami dotyczącymi pobierania i konfigurowania.
Rysunek 1: Panel Szybki start w portalu Azure
Po pobraniu kodu i skonfigurowaniu środowiska projektowego, zmień ustawienia konfiguracji w aplikacji tak, aby odpowiadały identyfikatorowi aplikacji, identyfikatorowi dzierżawcy i tajnemu kodowi klienta, które zanotowałeś w poprzedniej procedurze. Należy pamiętać, że dokładne kroki będą się różnić w zależności od używanego przykładu.
Korzystanie z dwóch aplikacji Firmy Microsoft Entra w celu poprawy bezpieczeństwa w środowisku produkcyjnym
W tym artykule przedstawiono uproszczoną wersję architektury na potrzeby implementowania strony docelowej dla oferty SaaS platformy handlowej. Podczas uruchamiania strony w środowisku produkcyjnym zalecamy zwiększenie bezpieczeństwa przez komunikację z interfejsami API realizacji SaaS tylko za pośrednictwem innej, zabezpieczonej aplikacji. Wymaga to utworzenia dwóch nowych aplikacji:
- Najpierw wielodostępna aplikacja strony docelowej opisana do tego momentu, z wyjątkiem możliwości kontaktu z interfejsami API realizacji SaaS. Ta funkcja zostanie odciążona do innej aplikacji, zgodnie z poniższym opisem.
- Po drugie, aplikacja zarządzająca komunikacją z API realizacji SaaS. Ta aplikacja powinna być jednomandatowa, przeznaczona wyłącznie do użytku przez Twoją organizację, a można ustanowić listę kontroli dostępu, aby ograniczyć dostęp do API wyłącznie dla tej aplikacji.
Dzięki temu rozwiązanie może działać w scenariuszach, które obserwują rozdzielenie problemów zasady. Na przykład strona docelowa używa pierwszej zarejestrowanej aplikacji Microsoft Entra do zalogowania użytkownika. Po zalogowaniu użytkownika strona docelowa używa drugiego identyfikatora Microsoft Entra ID do żądania tokenu dostępu, aby wywołać API realizacji SaaS oraz operację rozwiązywania.
Rozwiązanie tokenu identyfikacji zakupu w Marketplace
Po wysłaniu kupującego na stronę docelową token jest dodawany do parametru adresu URL. Ten token różni się zarówno od tokenu wystawionego przez identyfikator entra firmy Microsoft, jak i tokenu dostępu używanego do uwierzytelniania między usługami i jest używany jako dane wejściowe dla interfejsów API realizacji SaaS, rozpoznać wywołanie w celu uzyskania szczegółów subskrypcji. Podobnie jak we wszystkich wywołaniach interfejsów API do realizacji SaaS, żądanie typu service-to-service zostanie uwierzytelnione za pomocą tokenu dostępu opartego na identyfikatorze aplikacji Microsoft Entra Application, używanym do uwierzytelniania typu service-to-service.
Notatka
W większości przypadków zaleca się wykonanie tego wywołania z drugiej aplikacji z jedną dzierżawą. Zobacz Używanie dwóch aplikacji Firmy Microsoft Entra w celu zwiększenia bezpieczeństwa w środowisku produkcyjnym wcześniej w tym artykule.
Żądanie tokenu dostępu
Aby uwierzytelnić aplikację za pomocą interfejsów API realizacji SaaS, potrzebujesz tokenu dostępu, który można wygenerować przez wywołanie punktu końcowego OAuth w Microsoft Entra ID. Zobacz Jak uzyskać token autoryzacji wydawcy.
Wywołaj punkt końcowy rozwiązania
Interfejsy API realizacji SaaS implementują punkt końcowy rozwiązywania, który można wywołać, aby potwierdzić ważność tokenu rynku i zwrócić informacje o subskrypcji.
Odczytywanie informacji z twierdzeń zakodowanych w tokenie ID
W ramach przepływu openID Connect umieść wartość identyfikatora dzierżawy otrzymaną w https://login.microsoftonline.com/{tenant}/v2.0
. Microsoft Entra ID dodaje token identyfikatora do żądania, gdy kupujący jest wysyłany do strony docelowej. Ten token zawiera wiele podstawowych informacji, które mogą być przydatne w procesie aktywacji, w tym informacje widoczne w tej tabeli.
Wartość | Opis |
---|---|
Aud | Docelowi odbiorcy dla tego tokenu. W takim przypadku powinna być zgodna z identyfikatorem aplikacji i zostać zweryfikowana. |
preferowana_nazwa_użytkownika | Podstawowa nazwa użytkownika odwiedzającego. Może to być adres e-mail, numer telefonu lub inny identyfikator. |
Adres e-mail użytkownika. Należy pamiętać, że to pole może być puste. | |
nazwa | Czytelna dla człowieka wartość identyfikująca podmiot tokenu. W tym przypadku będzie to nazwa kupującego. |
oid | Identyfikator w systemie tożsamości firmy Microsoft, który jednoznacznie identyfikuje użytkownika w aplikacjach. Program Microsoft Graph zwróci tę wartość jako właściwość ID dla danego konta użytkownika. |
Tid | Identyfikator reprezentujący dzierżawcę Microsoft Entra, od którego pochodzi nabywca. W przypadku tożsamości MSA zawsze będzie to 9188040d-6c67-4c5b-b112-36a304b66dad . Aby uzyskać więcej informacji, zobacz notatkę w następnej sekcji: Korzystanie z interfejsu API programu Microsoft Graph. |
Sub | Identyfikator, który jednoznacznie identyfikuje użytkownika w tej konkretnej aplikacji. |
Korzystanie z interfejsu API programu Microsoft Graph
Token identyfikatora zawiera podstawowe informacje dotyczące identyfikacji nabywcy, ale proces aktywacji może wymagać dodatkowych szczegółów, na przykład nazwy firmy kupującego, aby ukończyć proces wprowadzania. Użyj interfejsu API programu Microsoft Graph , aby zażądać tych informacji i uniknąć ponownego wymuszenia wprowadzenia tych szczegółów przez użytkownika. Domyślnie standardowe uprawnienia User.Read zawierają następujące informacje.
Wartość | Opis |
---|---|
nazwa wyświetlana | Nazwa wyświetlana w książce adresowej użytkownika. |
givenName | Imię użytkownika. |
tytuł stanowiska | Stanowisko użytkownika. |
poczta | Adres SMTP użytkownika. |
telefon komórkowy | Podstawowy numer telefonu komórkowego użytkownika. |
preferowanyJęzyk | Kod ISO 639-1 dla preferowanego języka użytkownika. |
nazwisko | Nazwisko użytkownika. |
Dodatkowe właściwości — takie jak nazwa firmy użytkownika lub lokalizacja użytkownika (kraj/region) — można wybrać do dołączenia do żądania. Aby uzyskać więcej informacji, zobacz własności typu zasobów użytkownika.
Większość aplikacji zarejestrowanych w usłudze Microsoft Entra ID przyznaje uprawnienia delegowane do odczytywania informacji użytkownika z dzierżawy Microsoft Entra jego firmy. Każdemu żądaniu do Microsoft Graph dotyczącemu tej informacji musi towarzyszyć token dostępu do uwierzytelnienia. Konkretne kroki generowania tokenu dostępu zależą od używanego stosu technologii, ale przykładowy kod będzie zawierać przykład. Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu w imieniu użytkownika.
Notatka
Konta z dzierżawy MSA (z identyfikatorem dzierżawy 9188040d-6c67-4c5b-b112-36a304b66dad
) nie będą zwracać więcej informacji niż zostały już zebrane przy użyciu tokenu identyfikatora. Możesz więc pominąć to wywołanie interfejsu Graph API dla tych kont.
Powiązana zawartość
samouczki wideo