M365Con 2027 – bezpłatna konferencja online · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Opanowanie rejestracji aplikacji wielodzierżawczych w Entra ID dla SPFx

By ·

Witamy ponownie w podcaście! Jeśli kiedykolwiek próbowałeś przenieść rozwiązanie SharePoint Framework (SPFx), starannie zbudowane w Twojej dzierżawie deweloperskiej, do środowiska klienta, znasz to nieprzyjemne uczucie, gdy wszystko się psuje. Cisza. Puste komponenty webowe. Niekończące się pętle logowania. Uwierzytelnianie między dzierżawami to najlepszy sprawdzian dla deweloperów Microsoft 365,

Automatically translated with AI from the original post. Read the English original

▶ BLOGMastering Multi-TenantEntra ID App…M365.FM
Titelbild: Mastering Multi-Tenant Entra ID App Registrations for SPFx

Witamy ponownie w podcaście! Jeśli kiedykolwiek próbowałeś przenieść rozwiązanie SharePoint Framework (SPFx), starannie zbudowane w Twojej dzierżawie deweloperskiej, do środowiska klienta, znasz to nieprzyjemne uczucie, gdy wszystko się psuje. Cisza. Puste komponenty webowe. Niekończące się pętle logowania. Uwierzytelnianie między dzierżawami to najlepszy sprawdzian dla deweloperów Microsoft 365, a opanowanie go wymaga zrozumienia zawiłości rejestracji aplikacji w Entra ID, dynamicznych zakresów i zasady najmniejszych uprawnień.

W tym obszernym przewodniku rozwijamy wszystko, o czym mówiliśmy w ostatnim odcinku. Aby zagłębić się w rozmowę audio, posłuchaj naszego szczegółowego omówienia: Fix Multi-Tenant SPFx Authentication.

Wprowadzenie: Dlaczego wielodzierżawczy SPFx to tryb trudny

Przeniesienie aplikacji SPFx poza granice tożsamości często nazywa się „trybem trudnym” i nie bez powodu. Gdy budujesz w obrębie jednej dzierżawy, Entra ID, struktury witryn SharePoint i uprawnienia do interfejsów API są w dużej mierze domyślne lub łatwo omijane dzięki uprawnieniom globalnego administratora. W chwili gdy wchodzisz w model wielodzierżawczy – czy jesteś niezależnym dostawcą oprogramowania (ISV), który udostępnia komponent webowy jako produkt, czy wewnętrznym zespołem IT zarządzającym dzierżawami wielu spółek zależnych – te skróty znikają.

Masz teraz do czynienia z surowymi granicami katalogów, mechanizmami zgód wymagającymi wyraźnej zgody administratora oraz unikalną topologią witryn. Jeśli rejestracja aplikacji jest zablokowana jako jednodzierżawcza albo Twój kod opiera się na zakodowanych na sztywno parametrach środowiska, wdrożenie na pewno zakończy się niepowodzeniem w środowisku produkcyjnym.

Dla kogo jest ten artykuł

Zanim przejdziemy do mechaniki technicznej, określmy, kto powinien opanować ten wzorzec architektoniczny:

Najważniejsze wnioski

Aby z powodzeniem poruszać się po wdrożeniach wielodzierżawczych, miej te podstawowe zasady na uwadze podczas projektowania architektury:

Najważniejsze punkty

W trakcie naszej technicznej analizy natrafiliśmy na kilka kluczowych kamieni milowych, które musisz uwzględnić w cyklu życia swojego rozwiązania:

Lista kontrolna na start (do skopiowania)

  1. Rejestracja aplikacji w Entra ID
    • Ustaw Supported account types: Multitenant.
    • Zdefiniuj dokładne delegowane zakresy Graph potrzebne do działania, zgodnie z zasadą najmniejszych uprawnień.
    • Skonfiguruj prawidłowe identyfikatory URI przekierowania, obejmujące zarówno SharePoint Online, jak i lokalne środowiska deweloperskie.
  2. Utwardzanie projektu SPFx
    • Używaj MSGraphClient lub AadHttpClient do wszystkich wywołań API wymagających delegowanych uprawnień.
    • Odczytuj konfiguracje specyficzne dla dzierżawy (takie jak punkty końcowe i identyfikatory docelowych witryn) z dedykowanej listy konfiguracji w SharePoint lub z bezpiecznego API; zadbaj o to, aby w kodzie frontendu nie znajdowały się żadne sekrety.
    • Wdrażaj kontrole uprawnień w czasie wykonywania, które w razie braku uprawnień w łagodny sposób wyświetlają baner „Wymagana zgoda administratora” z bezpośrednim linkiem.
  3. Przepływ wyrażania zgody
    • Przygotuj dedykowaną stronę onboardingu dzierżawy, na której wyświetlisz wymagane zakresy, dokładny adres URL zgody administratora oraz kroki weryfikacji.
    • Obsługuj modele zgody dla poszczególnych grup odbiorców, rozróżniając wdrożenie obejmujące całą organizację od ukierunkowanej grupy pilotażowej.
  4. Pakowanie i wdrażanie
    • Spakuj rozwiązanie jednokrotnie do standardowego pliku .sppkg i włącz wdrażanie w zakresie dzierżawy tam, gdzie jest to właściwe.
    • Publikuj przez centralny katalog aplikacji (App Catalog), jednocześnie szczegółowo dokumentując kroki dodawania na poziomie witryny.
    • Zautomatyzuj cykl wydań za pomocą solidnego potoku CI/CD (kompilacja, grupowanie, pakowanie, przesyłanie i wdrożenie).
  5. Monitorowanie i wsparcie
    • Generuj szczegółową telemetrię, obejmującą identyfikator dzierżawy, identyfikator korelacji, konkretne funkcje i kody błędów.
    • Skonfiguruj pulpity w Application Insights lub Azure Monitor wraz z alertami umożliwiającymi podjęcie działań.
    • Udokumentuj jasną procedurę wycofania przy użyciu poprzednich wersji pakietu oraz szczegółową mapę wersji dla każdej dzierżawy.

Typowe pułapki (i sposoby ich naprawy)

Nawet doświadczeni deweloperzy wpadają w przewidywalne pułapki podczas konfigurowania aplikacji wielodzierżawowych. Oto, jak szybko je zdiagnozować i usunąć:

Podstawy ładu i bezpieczeństwa

Bezpieczeństwo nie może być dodatkiem wprowadzanym na końcu, gdy wdrażasz kod w zewnętrznych dzierżawach klientów. Wdroż poniższe podstawy ładu, aby utrzymać zaufanie:

Plan walidacji (przed przekazaniem klientowi)

Nigdy nie wdrażaj w ciemno. Przejdź przez poniższy plan walidacji, zanim zaprezentujesz rozwiązanie klientowi:

Często zadawane pytania

Czy do SPFx potrzebne są uprawnienia aplikacji?
Zazwyczaj nie. Rozwiązania SPFx działają w kontekście delegowanego użytkownika. Uprawnienia aplikacji wymagają dodatkowych zatwierdzeń administracyjnych oraz wyspecjalizowanych wzorców architektonicznych, dlatego stosuj je wyłącznie wtedy, gdy nie ma innej sensownej alternatywy.

Czy można uniknąć zgody udzielanej osobno w każdej dzierżawie?
Nie. Administrator każdej dzierżawy klienta musi wyraźnie udzielić zgody na żądane zakresy uprawnień Twojej aplikacji. Można jednak znacznie usprawnić ten proces, tworząc prowadzone interfejsy wdrażania oraz proaktywne banery powiadomień podczas działania aplikacji.

Jak utrzymać jedną bazę kodu dla wielu klientów?
Uczyń rozwiązanie w pełni niezależnym od dzierżawy, wynieś wszystkie konfiguracje zależne od środowiska na zewnątrz i zautomatyzuj procesy pakowania oraz wdrażania. Do bezpiecznego zarządzania ustawieniami specyficznymi dla klienta wykorzystaj flagi funkcji.

Jak szybciej diagnozować przypadki „nic się nie wyświetla”?
Zapisuj surowe odpowiedzi Graph wraz z wynikami sprawdzania zakresów. Gdy wystąpi błąd, wyświetl w interfejsie powiadomienie z komunikatem „Brak zgody lub niewystarczający zakres” oraz bezpośrednim linkiem, który pozwoli od razu naprawić problem.

Podsumowanie

Opanowanie rejestracji aplikacji Entra ID działających w wielu dzierżawach dla rozwiązań SharePoint Framework to to, co odróżnia skrypty hobbystów od oprogramowania klasy korporacyjnej. Przechodząc na myślenie oparte na pakowaniu niezależnym od dzierżawy, dynamicznym ładowaniu konfiguracji i solidnej walidacji zgód w czasie działania, wyeliminujesz ciche błędy wdrożeń i zapewnisz każdemu klientowi bezproblemowe doświadczenia.

Więcej o rzeczywistych historiach i decyzjach architektonicznych stojących za tymi rozwiązaniami znajdziesz w powiązanym odcinku podcastu: Fix Multi-Tenant SPFx Authentication. Dziękuję za lekturę i miłego kodowania!

Microsoft Entra ID SharePoint Microsoft 365 Azure Key Vault Microsoft Graph

Related articles

RSS