Rozwiązywanie problemów z wtyczką rozszerzenia logowania jednokrotnego firmy Microsoft Enterprise na urządzeniach firmy Apple
Ten artykuł zawiera wskazówki dotyczące rozwiązywania problemów używane przez administratorów do rozwiązywania problemów z wdrażaniem i używaniem wtyczki logowania jednokrotnego przedsiębiorstwa. Rozszerzenie logowania jednokrotnego firmy Apple można wdrożyć w systemach iOS/iPadOS i macOS.
Organizacje mogą zdecydować się na wdrożenie logowania jednokrotnego na urządzeniach firmowych, aby zapewnić użytkownikom końcowym lepsze środowisko pracy. Na platformach firmy Apple ten proces obejmuje implementację Logowanie jednokrotne (SSO) za pośrednictwem podstawowych tokenów odświeżania. Logowanie jednokrotne zwalnia użytkowników końcowych z obciążenia monitów o nadmierne uwierzytelnianie.
Firma Microsoft zaimplementowała wtyczkę utworzoną na podstawie struktury logowania jednokrotnego firmy Apple, która zapewnia uwierzytelnianie obsługiwane przez brokera dla aplikacji zintegrowanych z identyfikatorem Microsoft Entra ID. Aby uzyskać więcej informacji, zobacz artykuł Wtyczka logowania jednokrotnego firmy Microsoft Enterprise dla urządzeń firmy Apple.
Typy rozszerzeń
Firma Apple obsługuje dwa typy rozszerzeń logowania jednokrotnego, które są częścią jej struktury: przekierowanie i poświadczenie. Wtyczka logowania jednokrotnego dla przedsiębiorstw firmy Microsoft została zaimplementowana jako typ przekierowania i najlepiej nadaje się do uwierzytelniania brokera do identyfikatora Entra firmy Microsoft. W poniższej tabeli porównaliśmy dwa typy rozszerzeń.
Typ rozszerzenia | Najlepiej nadaje się do | Jak to działa | Podstawowe różnice |
---|---|---|---|
Przekierowanie | Nowoczesne metody uwierzytelniania, takie jak OpenID Connect, OAUTH2 i SAML (Microsoft Entra ID) | System operacyjny przechwytuje żądanie uwierzytelniania z aplikacji do adresów URL dostawcy tożsamości zdefiniowanych w profilu konfiguracji rozszerzenia MDM. Rozszerzenia przekierowania otrzymują: adresy URL, nagłówki i treść. | Zażądaj poświadczeń przed żądaniem danych. Używa adresów URL w profilu konfiguracji rozwiązania MDM. |
Referencje | Typy uwierzytelniania wyzwania i odpowiedzi, takie jak Kerberos (lokalna usługa Active Directory Domain Services) | Żądanie jest wysyłane z aplikacji do serwera uwierzytelniania (kontrolera domeny usługi AD). Rozszerzenia poświadczeń są konfigurowane z hostami w profilu konfiguracji MDM. Jeśli serwer uwierzytelniania zwróci wyzwanie zgodne z hostem wymienionym w profilu, system operacyjny kieruje wyzwanie do rozszerzenia. Rozszerzenie ma możliwość obsługi lub odrzucania wyzwania. Jeśli jest obsługiwana, rozszerzenie zwraca nagłówki autoryzacji w celu ukończenia żądania, a serwer uwierzytelniania zwraca odpowiedź na obiekt wywołujący. | Zażądaj danych, a następnie poproś o uwierzytelnienie. Użyj zestawów HOSTs w profilu konfiguracji rozwiązania MDM. |
Firma Microsoft ma implementacje uwierzytelniania obsługiwanego przez brokera dla następujących systemów operacyjnych klienta:
System operacyjny | Broker uwierzytelniania |
---|---|
Windows | Menedżer kont sieci Web (WAM) |
iOS/iPadOS | Microsoft Authenticator |
Android | Microsoft Authenticator lub Microsoft Intune — Portal firmy |
macOS | Microsoft Intune — Portal firmy (za pośrednictwem rozszerzenia logowania jednokrotnego) |
Wszystkie aplikacje brokera firmy Microsoft używają artefaktu klucza znanego jako podstawowy token odświeżania (PRT), który jest tokenem sieci Web JSON (JWT) używanym do uzyskiwania tokenów dostępu dla aplikacji i zasobów internetowych zabezpieczonych za pomocą identyfikatora Entra firmy Microsoft. Po wdrożeniu za pośrednictwem rozwiązania MDM rozszerzenie logowania jednokrotnego przedsiębiorstwa dla systemu macOS lub iOS uzyskuje żądanie PRT podobne do żądań ściągnięcia używanych na urządzeniach z systemem Windows przez Menedżera kont sieci Web (WAM). Aby uzyskać więcej informacji, zobacz artykuł Co to jest podstawowy token odświeżania.
Model rozwiązywania problemów
Poniższy schemat blokowy przedstawia przepływ logiczny do rozwiązywania problemów z rozszerzeniem logowania jednokrotnego. W pozostałej części tego artykułu szczegółowo opisano kroki przedstawione w tym schemacie blokowym. Rozwiązywanie problemów można podzielić na dwa oddzielne obszary fokusu: Wdrażanie i Przepływ uwierzytelniania aplikacji.
Procedura rezygnacji z logowania jednokrotnego platformy w systemie macOS
Aby zrezygnować z logowania jednokrotnego włączonego przez pomyłkę, administratorzy powinni usunąć profil rozszerzenia logowania jednokrotnego z włączonym logowaniem jednokrotnym z urządzeń i wdrożyć nowy profil rozszerzenia logowania jednokrotnego z flagami PSSO wyłączonymi/usuniętymi.
- Usuwanie określania wartości docelowej dla profilu logowania jednokrotnego z włączonym logowaniem jednokrotnym
- Inicjowanie synchronizacji urządzenia w celu pobrania profilu logowania jednokrotnego z włączonym logowaniem jednokrotnym z urządzenia
- Określanie celu urządzenia przy użyciu nowego profilu logowania jednokrotnego z wyłączonym logowaniem jednokrotnym
- Inicjowanie synchronizacji urządzenia w celu zainstalowania nowego profilu na urządzeniu
Ważne
Uwaga: aktualizowanie istniejącego profilu logowania jednokrotnego na urządzeniu nie pomoże wyłączyć logowania jednokrotnego po zakończeniu rejestracji za pomocą logowania jednokrotnego. Całkowite usunięcie profilu logowania jednokrotnego z urządzenia spowoduje usunięcie stanu PSSO z urządzenia.
Kontekst:
Użytkownicy będą widzieć powiadomienie rejestracji PSSO na urządzeniach z systemem macOS 13 lub nowszym w dwóch scenariuszach:
- Jeśli urządzenie ma już Intune — Portal firmy wersję obsługującą logowanie jednokrotne i administrator wdraża nowe zasady rozszerzenia logowania jednokrotnego z włączonym logowaniem jednokrotnym
- Jeśli użytkownik jest już objęty zasadami rozszerzenia logowania jednokrotnego z włączonym logowaniem jednokrotnym, a później na urządzeniu jest zainstalowana wersja Intune — Portal firmy obsługująca logowanie jednokrotne.
Uwaga
Administratorzy nie powinni kierować użytkowników z zasadami rozszerzenia logowania jednokrotnego z włączonym logowaniem jednokrotnym, chyba że są przetestowani i gotowi do wdrożenia, ponieważ może to potencjalnie spowodować przerwanie istniejących użytkowników i ich warunków zgodności.
Ważne
Uwaga: w przypadku użytkowników, którzy ukończyli rejestrację za pomocą logowania jednokrotnego, starsza rejestracja WPJ zostanie usunięta z pęku kluczy. Jeśli rejestracja za pomocą logowania jednokrotnego PSSO została wykonana przez pomyłkę, po usunięciu profilu logowania jednokrotnego za pomocą logowania jednokrotnego przez administratora i zainstalowaniu nowego profilu bez logowania jednokrotnego należy ponownie wykonać starszą rejestrację wpJ, aby zgodność urządzenia działała.
Rozwiązywanie problemów z wdrażaniem
Większość problemów napotykanych przez klientów wynika z nieprawidłowych konfiguracji usługi Mobile Zarządzanie urządzeniami (MDM) profilu rozszerzenia logowania jednokrotnego lub braku możliwości odbierania profilu konfiguracji przez urządzenie Apple z rozwiązania MDM. W tej sekcji opisano kroki, które można wykonać, aby upewnić się, że profil MDM został wdrożony na komputerze Mac i że ma poprawną konfigurację.
Wymagania dotyczące wdrażania
- System operacyjny macOS: wersja 10.15 (Catalina) lub nowsza.
- System operacyjny iOS: wersja 13 lub nowsza.
- Urządzenie zarządzane przez dowolnego dostawcę MDM obsługującego system Apple macOS i/lub iOS (rejestracja w rozwiązaniu MDM).
- Zainstalowane oprogramowanie brokera uwierzytelniania: Microsoft Intune — Portal firmy lub Microsoft Authenticator dla systemu iOS.
Sprawdzanie wersji systemu operacyjnego macOS
Wykonaj poniższe kroki, aby sprawdzić wersję systemu operacyjnego na urządzeniu z systemem macOS. Profile rozszerzenia logowania jednokrotnego firmy Apple są wdrażane tylko na urządzeniach z systemem macOS 10.15 (Catalina) lub nowszym. Wersję systemu macOS można sprawdzić z poziomu interfejsu użytkownika lub z poziomu terminalu.
Interfejs użytkownika
Na urządzeniu z systemem macOS wybierz ikonę apple w lewym górnym rogu i wybierz pozycję Informacje o tym komputerze Mac.
Wersja systemu operacyjnego jest wyświetlana obok systemu macOS.
Terminal
Na urządzeniu z systemem macOS kliknij dwukrotnie folder Aplikacje , a następnie kliknij dwukrotnie folder Narzędzia .
Kliknij dwukrotnie aplikację Terminal .
Po otwarciu terminalu wpisz sw_vers po wyświetleniu monitu wyszukaj wynik podobny do następującego:
% sw_vers ProductName: macOS ProductVersion: 13.0.1 BuildVersion: 22A400
Sprawdzanie wersji systemu operacyjnego iOS
Wykonaj poniższe kroki, aby sprawdzić wersję systemu operacyjnego na urządzeniu z systemem iOS. Profile rozszerzenia logowania jednokrotnego firmy Apple są wdrażane tylko na urządzeniach z systemem iOS 13 lub nowszym. Wersję systemu iOS można sprawdzić w aplikacji Ustawienia. Otwórz aplikację Ustawienia:
Przejdź do pozycji Ogólne , a następnie pozycję Informacje. Ten ekran zawiera informacje o urządzeniu, w tym numer wersji systemu iOS:
Wdrażanie oprogramowania MDM profilu konfiguracji rozszerzenia logowania jednokrotnego
Skontaktuj się z administratorem rozwiązania MDM (lub zespołem Zarządzanie urządzeniami), aby upewnić się, że profil konfiguracji rozszerzenia został wdrożony na urządzeniach firmy Apple. Profil rozszerzenia można wdrożyć z dowolnego rozwiązania MDM obsługującego urządzenia z systemem macOS lub iOS.
Ważne
Firma Apple wymaga zarejestrowania urządzeń w rozwiązaniu MDM na potrzeby wdrożenia rozszerzenia logowania jednokrotnego.
Poniższa tabela zawiera szczegółowe wskazówki dotyczące instalacji oprogramowania MDM w zależności od systemu operacyjnego, w którym wdrażasz rozszerzenie:
- iOS/iPadOS: wdrażanie wtyczki microsoft Enterprise SSO
- macOS: wdrażanie wtyczki logowania jednokrotnego firmy Microsoft Enterprise
Ważne
Mimo że każde rozwiązanie MDM jest obsługiwane do wdrażania rozszerzenia logowania jednokrotnego, wiele organizacji implementuje zasady dostępu warunkowego opartego na urządzeniach , oceniając zasady zgodności rozwiązania MDM. Jeśli jest używana funkcja MDM innej firmy, upewnij się, że dostawca MDM obsługuje zgodność partnerów usługi Intune, jeśli chcesz używać zasad dostępu warunkowego opartego na urządzeniach. Po wdrożeniu rozszerzenia logowania jednokrotnego za pośrednictwem usługi Intune lub dostawcy MDM obsługującego zgodność partnerów usługi Intune rozszerzenie może przekazać certyfikat urządzenia do identyfikatora Entra firmy Microsoft, aby można było ukończyć uwierzytelnianie urządzenia.
Weryfikowanie konfiguracji sieci na urządzeniu z systemem macOS
Struktura rozszerzenia logowania jednokrotnego firmy Apple i rozszerzenia logowania jednokrotnego firmy Microsoft Enterprise utworzona na jej podstawie wymaga wykluczenia niektórych domen z przechwytywania/inspekcji protokołu TLS (znanej również jako przerwanie i inspekcja serwera proxy). Następujące domeny nie mogą podlegać inspekcji protokołu TLS:
- app-site-association.cdn-apple.com
- app-site-association.networking.apple
Sprawdź, czy konfiguracja logowania jednokrotnego jest uszkodzona z powodu inspekcji protokołu TLS
Możesz sprawdzić, czy inspekcja protokołu TLS ma wpływ na konfigurację logowania jednokrotnego, uruchamiając narzędzie sysdiagnose z aplikacji terminalu na urządzeniu, którego to dotyczy:
sudo sysdiagnose -f ~/Desktop/
Narzędzie sysdiagnose zostanie zapisane na pulpicie jako archiwum .tar.gz. Wyodrębnij archiwum i otwórz plik system_logs.logarchive . Spowoduje to otwarcie w aplikacji konsolowej. Wyszukaj ciąg com.apple.appsso i zmień filtr na PODSYSTEM:
Poszukaj zdarzeń z informacją, że występują błędy skojarzonej domeny, szczególnie związane z domenami firmy Microsoft, takimi jak login.microsoftonline.com. Te zdarzenia mogą wskazywać na problemy z inspekcją protokołu TLS, co uniemożliwi prawidłowe działanie rozszerzenia logowania jednokrotnego. Domeny firmy Apple nie będą wyświetlane w dzienniku sysdiagnose, nawet jeśli mają one wpływ na nieobsługiwaną konfigurację inspekcji protokołu TLS.
Weryfikowanie konfiguracji inspekcji protokołu TLS
Firma Apple udostępnia narzędzie systemu macOS do sprawdzania wielu typowych problemów z konfiguracją nazywanych narzędziem do oceny komputerów Mac. To narzędzie można pobrać z witryny AppleSeed for IT. Jeśli masz dostęp do aplikacji AppleSeed dla działu IT, pobierz narzędzie oceny dla komputerów Mac z obszaru Zasoby. Po zainstalowaniu aplikacji uruchom ocenę. Po zakończeniu oceny przejdź do adresu HTTPS Interception -->Additional Content --> i sprawdź dwa poniższe elementy:
Jeśli te testy mają ostrzeżenie lub błąd, na urządzeniu może wystąpić inspekcja protokołu TLS. Skontaktuj się z zespołem sieci, aby wykluczyć pliki *.cdn-apple.com i *.networking.apple z inspekcji protokołu TLS.
Dane wyjściowe szczegółowych dzienników swcd
Firma Apple udostępnia narzędzie wiersza polecenia o nazwie swcutil
, które umożliwia monitorowanie postępu skojarzonej weryfikacji domeny. Możesz monitorować błędy dowolnej skojarzonej domeny przy użyciu następującego polecenia:
sudo swcutil watch --verbose
Znajdź następujący wpis w dziennikach i sprawdź, czy jest on oznaczony jako zatwierdzony lub czy występują jakieś błędy:
```
Entry s = authsrv, a = UBF8T346G9.com.microsoft.CompanyPortalMac, d = login.microsoftonline.com
```
Wyczyść pamięć podręczną inspekcji protokołu TLS dla systemu macOS
Jeśli masz problemy ze skojarzonymi domenami i masz domeny z listy dozwolonych w narzędziu inspekcji protokołu TLS na urządzeniu, może upłynąć trochę czasu na unieważnienie skojarzonej pamięci podręcznej weryfikacji domeny firmy Apple. Niestety nie ma kroków deterministycznych, które ponownie wyzwalają ponowną walidację skojarzonej domeny na wszystkich maszynach, ale istnieje kilka rzeczy, które można podjąć.
Aby zresetować pamięć podręczną urządzenia, możesz uruchomić następujące polecenia:
pkill -9 swcd
sudo swcutil reset
pkill -9 AppSSOAgent
Ponownie przetestuj konfigurację rozszerzenia logowania jednokrotnego po zresetowaniu pamięci podręcznej.
Czasami to polecenie jest niewystarczające i nie w pełni resetuje pamięci podręcznej. W takich przypadkach możesz spróbować wykonać następujące czynności:
- Usuń lub przenieś aplikację Intune — Portal firmy do kosza, a następnie uruchom ponownie urządzenie. Po zakończeniu ponownego uruchamiania możesz spróbować ponownie zainstalować aplikację Portal firmy.
- Zarejestruj ponownie urządzenie.
Jeśli żadna z powyższych metod nie rozwiąże problemu, może istnieć coś innego w twoim środowisku, które może blokować skojarzona walidacja domeny. Jeśli tak się stanie, skontaktuj się z pomocą techniczną firmy Apple, aby uzyskać dalsze rozwiązywanie problemów.
Weryfikowanie profilu konfiguracji logowania jednokrotnego na urządzeniu z systemem macOS
Przy założeniu, że administrator MDM wykonał kroki opisane w poprzedniej sekcji Wdrażanie mdm profilu rozszerzenia logowania jednokrotnego, następnym krokiem jest sprawdzenie, czy profil został pomyślnie wdrożony na urządzeniu.
Znajdowanie profilu konfiguracji rozwiązania MDM rozszerzenia logowania jednokrotnego
Na urządzeniu z systemem macOS wybierz pozycję Ustawienia systemowe.
Po wyświetleniu pozycji Ustawienia systemowe wpisz Profile i naciśnij Return.
Ta akcja powinna spowodować wyświetlenie panelu Profile .
Objaśnienie zrzutu ekranu opis 1 Wskazuje, że urządzenie jest objęte zarządzaniem urządzeniami przenośnymi . 2 Może istnieć wiele profilów do wyboru. W tym przykładzie profil rozszerzenia logowania jednokrotnego firmy Microsoft Enterprise nosi nazwę Extensible Logowanie jednokrotne Profile-32f37be3-302e-4549-a3e3-854d300e117a. Uwaga
W zależności od typu używanego rozwiązania MDM może istnieć kilka profilów wymienionych, a ich schemat nazewnictwa jest dowolny w zależności od konfiguracji rozwiązania MDM. Zaznacz każdy z nich i sprawdź, czy wiersz Ustawienia wskazuje, że jest to rozszerzenie Logowanie jednokrotne.
Kliknij dwukrotnie profil konfiguracji zgodny z wartością Ustawienia rozszerzenia Logowanie jednokrotne.
Objaśnienie zrzutu ekranu Ustawienie profilu konfiguracji opis 1 Podpisane Urząd podpisywania dostawcy MDM. 2 Zainstalowane Znacznik daty/godziny pokazujący, kiedy rozszerzenie zostało zainstalowane (lub zaktualizowane). 3 Ustawienia: rozszerzenie Logowanie jednokrotne Wskazuje, że ten profil konfiguracji jest typem rozszerzenia logowania jednokrotnego firmy Apple. 4 Rozszerzenie Identyfikator mapujący na identyfikator pakietu aplikacji z uruchomioną wtyczką rozszerzenia Microsoft Enterprise. Identyfikator musi być zawsze ustawiony com.microsoft.CompanyPortalMac.ssoextension
na wartość , a identyfikator zespołu musi być wyświetlany jako (UBF8T346G9), jeśli profil jest zainstalowany na urządzeniu z systemem macOS. Jeśli jakiekolwiek wartości różnią się, rozwiązanie MDM nie wywołuje poprawnie rozszerzenia.5 Type Rozszerzenie logowania jednokrotnego firmy Microsoft Enterprise musi być zawsze ustawione na typ rozszerzenia Przekierowanie. Aby uzyskać więcej informacji, zobacz Redirect vs Credential Extension Types (Typy rozszerzeń przekierowania i poświadczeń). 6 Adresy URL Adresy URL logowania należące do dostawcy tożsamości (Microsoft Entra ID). Zobacz listę obsługiwanych adresów URL. Wszystkie rozszerzenia przekierowania logowania jednokrotnego firmy Apple muszą mieć następujące składniki ładunku MDM w profilu konfiguracji:
Składnik ładunku MDM opis Identyfikator rozszerzenia Obejmuje zarówno identyfikator pakietu, jak i identyfikator zespołu aplikacji na urządzeniu z systemem macOS z uruchomionym rozszerzeniem. Uwaga: Rozszerzenie logowania jednokrotnego microsoft Enterprise powinno być zawsze ustawione na: com.microsoft.CompanyPortalMac.ssoextension (UBF8T346G9), aby poinformować system operacyjny macOS, że kod klienta rozszerzenia jest częścią aplikacji Intune — Portal firmy. Type Musi być ustawiona wartość Przekierowanie , aby wskazać typ rozszerzenia przekierowania. Adresy URL Adresy URL punktów końcowych dostawcy tożsamości (Microsoft Entra ID), gdzie system operacyjny kieruje żądania uwierzytelniania do rozszerzenia. Opcjonalna konfiguracja specyficzna dla rozszerzenia Wartości słownika, które mogą pełnić rolę parametrów konfiguracji. W kontekście rozszerzenia logowania jednokrotnego firmy Microsoft Enterprise te parametry konfiguracji są nazywane flagami funkcji. Zobacz definicje flag funkcji. Uwaga
Definicje mdM dla profilu rozszerzenia logowania jednokrotnego firmy Apple można odwoływać się w artykule Extensible Single Sign-on MDM payload settings for Apple devices (Rozszerzenie MDM dla urządzeń firmy Apple) zaimplementowało nasze rozszerzenie na podstawie tego schematu. Zobacz Wtyczka logowania jednokrotnego firmy Microsoft Enterprise dla urządzeń firmy Apple
Aby sprawdzić, czy zainstalowano prawidłowy profil rozszerzenia logowania jednokrotnego firmy Microsoft Enterprise, pole Rozszerzenie powinno być zgodne: com.microsoft.CompanyPortalMac.ssoextension (UBF8T346G9).
Zanotuj pole Zainstalowane w profilu konfiguracji, ponieważ może być przydatnym wskaźnikiem rozwiązywania problemów po wprowadzeniu zmian w konfiguracji.
Jeśli zweryfikowano prawidłowy profil konfiguracji, przejdź do sekcji Rozwiązywanie problemów z przepływem uwierzytelniania aplikacji.
Brak profilu konfiguracji zarządzania urządzeniami przenośnymi
Jeśli profil konfiguracji rozszerzenia logowania jednokrotnego nie jest wyświetlany na liście Profile po wykonaniu poprzedniej sekcji, może to oznaczać, że konfiguracja rozwiązania MDM ma włączoną opcję Określanie wartości docelowej użytkownika/urządzenia, co skutecznie filtruje użytkownika lub urządzenie z odbierania profilu konfiguracji. Zajrzyj do administratora MDM i zbierz dzienniki konsoli znajdujące się w następnej sekcji.
Zbieranie dzienników konsoli specyficznych dla rozwiązania MDM
Na urządzeniu z systemem macOS kliknij dwukrotnie folder Aplikacje , a następnie kliknij dwukrotnie folder Narzędzia .
Kliknij dwukrotnie aplikację konsolową.
Kliknij przycisk Start, aby włączyć rejestrowanie śledzenia konsoli.
Administrator MDM spróbuj ponownie wdrożyć profil konfiguracji na tym urządzeniu/użytkowniku systemu macOS i wymusić cykl synchronizacji.
Wpisz subsystem:com.apple.ManagedClient na pasku wyszukiwania i naciśnij Return.
Gdzie kursor w pasku wyszukiwania wpisz message:Extensible.
Powinny być teraz widoczne dzienniki konsoli MDM filtrowane w działaniach profilu konfiguracji rozszerzalnego logowania jednokrotnego . Poniższy zrzut ekranu przedstawia wpis dziennika Zainstalowano profil konfiguracji z informacją o tym, że profil konfiguracji został zainstalowany.
Rozwiązywanie problemów z przepływem uwierzytelniania aplikacji
Wskazówki w tej sekcji zakładają, że urządzenie z systemem macOS ma poprawnie wdrożony profil konfiguracji. Aby uzyskać instrukcje, zobacz Weryfikowanie profilu konfiguracji logowania jednokrotnego na urządzeniu z systemem macOS.
Po wdrożeniu rozszerzenia microsoft Enterprise SSO dla urządzeń firmy Apple obsługuje dwa typy przepływów uwierzytelniania aplikacji dla każdego typu aplikacji. Podczas rozwiązywania problemów ważne jest, aby zrozumieć typ używanej aplikacji.
Typy aplikacji
Typ aplikacji | Interakcyjne uwierzytelnianie | Uwierzytelnianie dyskretne | opis | Przykłady |
---|---|---|---|---|
Natywna aplikacja MSAL | X | X | BIBLIOTEKA MSAL (Biblioteka uwierzytelniania firmy Microsoft) to platforma deweloperska aplikacji do tworzenia aplikacji z Platforma tożsamości Microsoft (Microsoft Entra ID). Aplikacje utworzone na platformie MSAL w wersji 1.1 lub nowszej mogą być zintegrowane z rozszerzeniem microsoft Enterprise SSO. Jeśli aplikacja korzysta z rozszerzenia logowania jednokrotnego (brokera), korzysta z rozszerzenia bez dalszej konfiguracji, aby uzyskać więcej informacji, zobacz naszą przykładową dokumentację dla deweloperów biblioteki MSAL. |
Microsoft To Do |
Logowanie jednokrotne bez biblioteki MSAL/przeglądarka | X | Aplikacje korzystające z technologii sieciowych firmy Apple lub widoków internetowych można skonfigurować w celu uzyskania poświadczeń udostępnionych z rozszerzenia logowania jednokrotnego Flagi funkcji należy skonfigurować, aby upewnić się, że identyfikator pakietu dla każdej aplikacji może uzyskać poświadczenia udostępnione (PRT). |
Microsoft Word Safari Microsoft Edge Visual Studio |
Ważne
Nie wszystkie aplikacje natywne firmy Microsoft używają platformy MSAL. W momencie publikacji tego artykułu większość aplikacji pakietu Microsoft Office dla systemu macOS nadal korzysta ze starszej struktury biblioteki bibliotekI ADAL, a tym samym polega na przepływie logowania jednokrotnego przeglądarki.
Jak znaleźć identyfikator pakietu dla aplikacji w systemie macOS
Na urządzeniu z systemem macOS kliknij dwukrotnie folder Aplikacje , a następnie kliknij dwukrotnie folder Narzędzia .
Kliknij dwukrotnie aplikację Terminal .
Po otwarciu terminalu wpisz
osascript -e 'id of app "<appname>"'
w wierszu polecenia. Zobacz kilka przykładów:% osascript -e 'id of app "Safari"' com.apple.Safari % osascript -e 'id of app "OneDrive"' com.microsoft.OneDrive % osascript -e 'id of app "Microsoft Edge"' com.microsoft.edgemac
Teraz, po zebraniu identyfikatorów pakietów, postępuj zgodnie z naszymi wskazówkami, aby skonfigurować flagi funkcji, aby upewnić się, że aplikacje inne niż MSAL Native/Browser SSO mogą korzystać z rozszerzenia logowania jednokrotnego. Uwaga: wszystkie identyfikatory pakietów są uwzględniane w przypadku konfiguracji flagi funkcji.
Uwaga
Aplikacje, które nie korzystają z technologii sieci firmy Apple (takich jak WKWebview i NSURLSession), nie będą mogły używać poświadczeń udostępnionych (PRT) z rozszerzenia logowania jednokrotnego. Zarówno Google Chrome , jak i Mozilla Firefox należą do tej kategorii. Nawet jeśli są one skonfigurowane w profilu konfiguracji rozwiązania MDM, wynik będzie zwykłym monitem uwierzytelniania w przeglądarce.
Bootstrap
Domyślnie tylko aplikacje MSAL wywołują rozszerzenie logowania jednokrotnego, a następnie z kolei rozszerzenie uzyskuje poświadczenie udostępnione (PRT) z identyfikatora Entra firmy Microsoft. Można jednak skonfigurować aplikację przeglądarki Safari lub inne aplikacje inne niż MSAL w celu uzyskania prT. Zobacz Zezwalanie użytkownikom na logowanie się z aplikacji, które nie korzystają z biblioteki MSAL i przeglądarki Safari. Po uzyskaniu żądania PRT rozszerzenie logowania jednokrotnego spowoduje zapisanie poświadczeń w pęku kluczy logowania użytkownika. Następnie sprawdź, czy prT jest obecny w pęku kluczy użytkownika:
Sprawdzanie dostępu pęku kluczy dla prT
Na urządzeniu z systemem macOS kliknij dwukrotnie folder Aplikacje , a następnie kliknij dwukrotnie folder Narzędzia .
Kliknij dwukrotnie aplikację dostępu łańcucha kluczy.
W obszarze Domyślne pęki kluczy wybierz pozycję Elementy lokalne (lub iCloud).
- Upewnij się, że wybrano pozycję Wszystkie elementy .
- Na pasku wyszukiwania po prawej stronie wpisz
primaryrefresh
(Aby filtrować).
Objaśnienie zrzutu ekranu Składnik poświadczeń łańcucha kluczy opis 1 Wszystkie elementy Przedstawia wszystkie typy poświadczeń w ramach dostępu łańcucha kluczy 2 Pasek wyszukiwania pęku kluczy Umożliwia filtrowanie według poświadczeń. Aby filtrować pod kątem typu PRT firmy Microsoft primaryrefresh
3 Rodzaj Odnosi się do typu poświadczeń. Poświadczenie Entra PRT firmy Microsoft jest typem poświadczeń hasła aplikacji 4 Klient Wyświetla konto użytkownika Microsoft Entra, które jest właścicielem prT w formacie: UserObjectId.TenantId-login.windows.net
5 Gdzie Wyświetla pełną nazwę poświadczenia. Poświadczenie Microsoft Entra PRT zaczyna się od następującego formatu: primaryrefreshtoken-29d9ed98-a469-4536-ade2-f981bc1d605
29d9ed98-a469-4536-ade2-f981bc1d605 jest identyfikatorem aplikacji dla usługi Microsoft Authentication Broker, odpowiedzialnym za obsługę żądań pozyskiwania PRT6 Zmodyfikowano Pokazuje, kiedy poświadczenie zostało ostatnio zaktualizowane. W przypadku poświadczeń entra PRT firmy Microsoft za każdym razem, gdy poświadczenie jest uruchamiane lub aktualizowane przez zdarzenie logowania interakcyjnego aktualizuje znacznik daty/godziny 7 Łańcucha kluczy Wskazuje, który pęk kluczy znajduje się w wybranym poświadczeniu. Poświadczenie Microsoft Entra PRT znajduje się w lokalnych elementach lub pęku kluczy w usłudze iCloud . Po włączeniu usługi iCloud na urządzeniu z systemem macOS łańcucha kluczy elementy lokalne staną się łańcucha kluczy usługi iCloud Jeśli żądanie ściągnięcia nie zostanie znalezione w programie Keychain Access, wykonaj następujące czynności na podstawie typu aplikacji:
- Natywna biblioteka MSAL: sprawdź, czy deweloper aplikacji, jeśli aplikacja została skompilowana przy użyciu biblioteki MSAL w wersji 1.1 lub nowszej, włączyła obsługę brokera aplikacji. Zapoznaj się również z krokami rozwiązywania problemów z wdrażaniem, aby wykluczyć wszelkie problemy z wdrażaniem.
- Bez biblioteki MSAL (Safari): sprawdź, czy flaga
browser_sso_interaction_enabled
funkcji jest ustawiona na 1, a nie 0 w profilu konfiguracji mdM
Przepływ uwierzytelniania po uruchomieniu żądania ściągnięcia
Teraz, gdy żądanie ściągnięcia (poświadczenie udostępnione) zostało zweryfikowane, przed wykonaniem dokładniejszego rozwiązywania problemów warto zapoznać się z ogólnymi krokami dla każdego typu aplikacji i sposobem interakcji z wtyczką rozszerzenia logowania jednokrotnego firmy Microsoft Enterprise (aplikacją brokera). Poniższe animacje i opisy powinny ułatwić administratorom systemu macOS zrozumienie scenariusza przed sprawdzeniem danych rejestrowania.
Natywna aplikacja MSAL
Scenariusz: aplikacja opracowana do korzystania z biblioteki MSAL (przykład: klient Microsoft To Do), który jest uruchomiony na urządzeniu firmy Apple, musi zalogować użytkownika przy użyciu konta Microsoft Entra w celu uzyskania dostępu do usługi chronionej przez firmę Microsoft (przykład: Microsoft To Do Service).
- Aplikacje opracowane przez bibliotekę MSAL wywołują rozszerzenie logowania jednokrotnego bezpośrednio i wysyłają żądanie PRT do punktu końcowego tokenu Entra firmy Microsoft wraz z żądaniem aplikacji dla tokenu dla zasobu chronionego przez firmę Microsoft Entra
- Identyfikator entra firmy Microsoft weryfikuje poświadczenie PRT i zwraca token specyficzny dla aplikacji z powrotem do brokera rozszerzenia logowania jednokrotnego
- Broker rozszerzenia logowania jednokrotnego przekazuje następnie token do aplikacji klienckiej MSAL, która następnie wysyła go do zasobu chronionego przez firmę Microsoft Entra
- Użytkownik jest teraz zalogowany do aplikacji, a proces uwierzytelniania został ukończony
Logowanie jednokrotne inne niż MSAL/przeglądarka
Scenariusz: użytkownik na urządzeniu firmy Apple otwiera przeglądarkę internetową Safari (lub dowolną aplikację natywną inną niż MSAL, która obsługuje stos sieci firmy Apple) w celu zalogowania się do chronionego zasobu firmy Microsoft Entra (przykład: https://office.com
).
- Przy użyciu aplikacji innej niż MSAL (przykład: Safari) użytkownik próbuje zalogować się do zintegrowanej aplikacji firmy Microsoft Entra (przykład: office.com) i jest przekierowywany w celu uzyskania tokenu z identyfikatora Entra firmy Microsoft
- Jeśli aplikacja nieskonfiguracyjna jest wymieniona na liście dozwolonych w konfiguracji ładunku MDM, stos sieciowy firmy Apple przechwytuje żądanie uwierzytelniania i przekierowuje żądanie do brokera rozszerzenia logowania jednokrotnego
- Po odebraniu przechwyconego żądania przez rozszerzenie logowania jednokrotnego żądanie PRT jest wysyłane do punktu końcowego tokenu entra firmy Microsoft
- Identyfikator entra firmy Microsoft weryfikuje żądanie ściągnięcia i zwraca token specyficzny dla aplikacji z powrotem do rozszerzenia logowania jednokrotnego
- Token specyficzny dla aplikacji jest podawany aplikacji klienckiej innej niż MSAL, a aplikacja kliencka wysyła token w celu uzyskania dostępu do usługi chronionej przez firmę Microsoft Entra
- Użytkownik zakończył teraz logowanie, a proces uwierzytelniania został ukończony
Uzyskiwanie dzienników rozszerzenia logowania jednokrotnego
Jednym z najbardziej przydatnych narzędzi do rozwiązywania różnych problemów z rozszerzeniem logowania jednokrotnego są dzienniki klienta z urządzenia firmy Apple.
Zapisywanie dzienników rozszerzenia logowania jednokrotnego z aplikacji Portal firmy
Na urządzeniu z systemem macOS kliknij dwukrotnie folder Aplikacje .
Kliknij dwukrotnie aplikację Portal firmy.
Po załadowaniu Portal firmy przejdź do górnego paska menu: Raport diagnostyczny Help-Save>. Nie ma potrzeby logowania się do aplikacji.
Zapisz archiwum dziennika Portal firmy, aby umieścić wybrane miejsce (na przykład: Desktop).
Otwórz archiwum CompanyPortal.zip i otwórz plik SSOExtension.log przy użyciu dowolnego edytora tekstów.
Napiwek
Przydatny sposób wyświetlania dzienników polega na użyciu programu Visual Studio Code i zainstalowaniu rozszerzenia Log Viewer.
Dzienniki rozszerzenia logowania jednokrotnego tailing w systemie macOS z terminalem
Podczas rozwiązywania problemów przydatne może być odtworzenie problemu podczas usuwania dzienników SSOExtension w czasie rzeczywistym:
Na urządzeniu z systemem macOS kliknij dwukrotnie folder Aplikacje , a następnie kliknij dwukrotnie folder Narzędzia .
Kliknij dwukrotnie aplikację Terminal .
Po otwarciu terminalu wpisz:
tail -F ~/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/*
Uwaga
Końcowy ciąg /* wskazuje, że wiele dzienników zostanie zachowanych, jeśli jakiekolwiek istnieją
% tail -F ~/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/* ==> /Users/<username>/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/SSOExtension 2022-12-25--13-11-52-855.log <== 2022-12-29 14:49:59:281 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Handling SSO request, requested operation: 2022-12-29 14:49:59:281 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Ignoring this SSO request... 2022-12-29 14:49:59:282 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Finished SSO request. 2022-12-29 14:49:59:599 | I | Beginning authorization request 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag browser_sso_interaction_enabled, value in config 1, value type __NSCFNumber 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Feature flag browser_sso_interaction_enabled is enabled 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag browser_sso_disable_mfa, value in config (null), value type (null) 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag disable_browser_sso_intercept_all, value in config (null), value type (null) 2022-12-29 14:49:59:600 | I | Request does not need UI 2022-12-29 14:49:59:600 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag admin_debug_mode_enabled, value in config (null), value type (null)
Podczas odtwarzania problemu pozostaw otwarte okno terminalu , aby obserwować dane wyjściowe z dzienników tailed SSOExtension .
Eksportowanie dzienników rozszerzenia logowania jednokrotnego w systemie iOS
Nie można wyświetlić dzienników rozszerzenia logowania jednokrotnego systemu iOS w czasie rzeczywistym, ponieważ jest w systemie macOS. Dzienniki rozszerzenia logowania jednokrotnego systemu iOS można wyeksportować z aplikacji Microsoft Authenticator, a następnie przejrzeć je z innego urządzenia:
Otwórz aplikację Microsoft Authenticator:
Naciśnij przycisk menu w lewym górnym rogu:
Wybierz opcję "Wyślij opinię":
Wybierz opcję "Występują problemy":
Naciśnij opcję Wyświetl dane diagnostyczne:
Napiwek
Jeśli pracujesz z pomoc techniczna firmy Microsoft, na tym etapie możesz nacisnąć przycisk Wyślij, aby wysłać dzienniki do pomocy technicznej. Spowoduje to podanie identyfikatora zdarzenia, który można podać pomoc techniczna firmy Microsoft kontaktowi.
Naciśnij przycisk "Kopiuj wszystko", aby skopiować dzienniki do schowka urządzenia z systemem iOS. Następnie możesz zapisać pliki dziennika w innym miejscu na potrzeby przeglądu lub wysłać je za pośrednictwem poczty e-mail lub innych metod udostępniania plików:
Omówienie dzienników rozszerzenia logowania jednokrotnego
Analizowanie dzienników rozszerzenia logowania jednokrotnego to doskonały sposób rozwiązywania problemów z przepływem uwierzytelniania z aplikacji wysyłających żądania uwierzytelniania do identyfikatora Entra firmy Microsoft. Za każdym razem, gdy zostanie wywołany broker rozszerzenia logowania jednokrotnego, zostanie wywołana seria wyników działań rejestrowania, a te działania są nazywane żądaniami autoryzacji. Dzienniki zawierają następujące przydatne informacje dotyczące rozwiązywania problemów:
- Konfiguracja flagi funkcji
- Typy żądań autoryzacji
- Natywna biblioteka MSAL
- Logowanie jednokrotne bez biblioteki MSAL/przeglądarki
- Interakcja z łańcucha kluczy systemu macOS na potrzeby operacji pobierania/przechowywania poświadczeń
- Identyfikatory korelacji dla zdarzeń logowania w usłudze Microsoft Entra
- Pozyskiwanie żądań ściągnięcia
- Rejestracja urządzenia
Uwaga
Dzienniki rozszerzenia logowania jednokrotnego są bardzo pełne, zwłaszcza podczas przeglądania operacji poświadczeń łańcucha kluczy. Z tego powodu zawsze najlepiej jest zrozumieć scenariusz przed sprawdzeniem dzienników podczas rozwiązywania problemów.
Struktura dziennika
Dzienniki rozszerzenia logowania jednokrotnego są podzielone na kolumny. Poniższy zrzut ekranu przedstawia podział kolumn dzienników:
Kolumna | Nazwa kolumny | opis |
---|---|---|
1 | Lokalna data/godzina | Wyświetlana lokalna data i godzina |
2 | Informacje we/wy Ostrzeżenie W Błąd E |
Wyświetla informacje, ostrzeżenie lub błędy |
3 | Identyfikator wątku (TID) | Wyświetla identyfikator wątku wykonania aplikacji brokera logowania jednokrotnego |
4 | Numer wersji biblioteki MSAL | Wtyczka brokera rozszerzenia logowania jednokrotnego dla przedsiębiorstw firmy Microsoft jest kompilacyjna jako aplikacja MSAL. Ta kolumna określa wersję biblioteki MSAL uruchomioną przez aplikację brokera |
5 | Wersja systemu macOS | Pokaż wersję systemu operacyjnego macOS |
6 | Data/godzina UTC | Wyświetlana data i godzina UTC |
7 | Identyfikator korelacji | Wiersze w dziennikach, które mają związek z operacjami Microsoft Entra ID lub pęku kluczy, rozszerzają kolumnę data/godzina UTC o identyfikator korelacji |
8 | Wiadomość | Przedstawia szczegółowe komunikaty dzienników. Większość informacji dotyczących rozwiązywania problemów można znaleźć, sprawdzając tę kolumnę |
Konfiguracja flagi funkcji
Podczas konfigurowania zarządzania urządzeniami przenośnymi rozszerzenia logowania jednokrotnego firmy Microsoft Enterprise można wysłać opcjonalne dane specyficzne dla rozszerzenia jako instrukcje dotyczące zmiany zachowania rozszerzenia logowania jednokrotnego. Te instrukcje dotyczące konfiguracji są nazywane flagami funkcji. Konfiguracja flagi funkcji jest szczególnie ważna w przypadku typów żądań autoryzacji logowania jednokrotnego bez biblioteki MSAL/przeglądarki, ponieważ identyfikator pakietu może określić, czy rozszerzenie jest wywoływane, czy nie. Zobacz dokumentację flagi funkcji. Każde żądanie autoryzacji rozpoczyna się od raportu konfiguracji flagi funkcji. Poniższy zrzut ekranu przedstawia przykładową konfigurację flagi funkcji:
Wywołanie | Flaga funkcji | opis |
---|---|---|
1 | browser_sso_interaction_enabled | Przeglądarka innej niż MSAL lub Safari może uruchomić żądanie ściągnięcia |
2 | browser_sso_disable_mfa | (Teraz przestarzałe) Podczas uruchamiania poświadczeń PRT wymagane jest domyślnie uwierzytelnianie wieloskładnikowe. Zwróć uwagę, że ta konfiguracja jest ustawiona na wartość null , co oznacza, że konfiguracja domyślna jest wymuszana |
3 | disable_explicit_app_prompt | Zamienia żądania uwierzytelniania prompt=login z aplikacji, aby zmniejszyć monity |
4 | AppPrefixAllowList | Każda aplikacja inna niż MSAL, która ma identyfikator pakietu rozpoczynający się od com.micorosoft. , może zostać przechwycona i obsłużona przez brokera rozszerzeń logowania jednokrotnego |
Ważne
Flagi funkcji ustawione na wartość null oznaczają, że ich domyślna konfiguracja jest włączona. Zobacz dokumentację flagi funkcji, aby uzyskać więcej szczegółów
Przepływ logowania aplikacji natywnej biblioteki MSAL
W poniższej sekcji przedstawiono sposób badania dzienników rozszerzenia logowania jednokrotnego dla przepływu natywnego uwierzytelniania aplikacji MSAL. W tym przykładzie używamy przykładowej aplikacji MSAL macOS/iOS jako aplikacji klienckiej, a aplikacja wykonuje wywołanie interfejsu API programu Microsoft Graph w celu wyświetlenia informacji użytkownika logowania.
Natywna biblioteka MSAL: przewodnik po przepływie interaktywnym
W przypadku pomyślnego logowania interakcyjnego powinny zostać wykonane następujące akcje:
- Użytkownik loguje się do przykładowej aplikacji MSAL dla systemu macOS.
- Broker rozszerzenia logowania jednokrotnego firmy Microsoft jest wywoływany i obsługuje żądanie.
- Usługa Microsoft SSO Extension Broker przechodzi proces uruchamiania aplikacji w celu uzyskania żądania ściągnięcia dla zalogowanego użytkownika.
- Zapisz prT w pęku kluczy.
- Sprawdź obecność obiektu rejestracji urządzeń w usłudze Microsoft Entra ID (WPJ).
- Zwróć token dostępu do aplikacji klienckiej, aby uzyskać dostęp do programu Microsoft Graph z zakresem User.Read.
Ważne
Poniższe fragmenty przykładowego dziennika zostały oznaczone nagłówkami komentarzy //, które nie są widoczne w dziennikach. Są one używane do zilustrowania konkretnej akcji podejmowanej. Udokumentowaliśmy fragmenty dziennika w ten sposób, aby ułatwić wykonywanie operacji kopiowania i wklejania. Ponadto przykłady dzienników zostały przycięte, aby pokazać tylko wiersze istotności na potrzeby rozwiązywania problemów.
Użytkownik klika przycisk Wywołaj interfejs API programu Microsoft Graph, aby wywołać proces logowania.
//////////////////////////
//get_accounts_operation//
//////////////////////////
Handling SSO request, requested operation: get_accounts_operation
(Default accessor) Get accounts.
(MSIDAccountCredentialCache) retrieving cached credentials using credential query
(Default accessor) Looking for token with aliases (null), tenant (null), clientId 00001111-aaaa-2222-bbbb-3333cccc4444, scopes (null)
(Default accessor) No accounts found in default accessor.
(Default accessor) No accounts found in other accessors.
Completed get accounts SSO request with a personal device mode.
Request complete
Request needs UI
ADB 3.1.40 -[ADBrokerAccountManager allBrokerAccounts:]
ADB 3.1.40 -[ADBrokerAccountManager allMSIDBrokerAccounts:]
(Default accessor) Get accounts.
No existing accounts found, showing webview
/////////
//login//
/////////
Handling SSO request, requested operation: login
Handling interactive SSO request...
Starting SSO broker request with payload: {
authority = "https://login.microsoftonline.com/common";
"client_app_name" = MSALMacOS;
"client_app_version" = "1.0";
"client_id" = "00001111-aaaa-2222-bbbb-3333cccc4444";
"client_version" = "1.1.7";
"correlation_id" = "aaaa0000-bb11-2222-33cc-444444dddddd";
"extra_oidc_scopes" = "openid profile offline_access";
"instance_aware" = 0;
"msg_protocol_ver" = 4;
prompt = "select_account";
"provider_type" = "provider_aad_v2";
"redirect_uri" = "msauth.com.microsoft.idnaace.MSALMacOS://auth";
scope = "user.read";
}
////////////////////////////////////////////////////////////
//Request PRT from Microsoft Authentication Broker Service//
////////////////////////////////////////////////////////////
Using request handler <ADInteractiveDevicelessPRTBrokerRequestHandler: 0x117ea50b0>
(Default accessor) Looking for token with aliases (null), tenant (null), clientId 11112222-bbbb-3333-cccc-4444dddd5555, scopes (null)
Attempting to get Deviceless Primary Refresh Token interactively.
Caching AAD Environements
networkHost: login.microsoftonline.com, cacheHost: login.windows.net, aliases: login.microsoftonline.com, login.windows.net, login.microsoft.com, sts.windows.net
networkHost: login.partner.microsoftonline.cn, cacheHost: login.partner.microsoftonline.cn, aliases: login.partner.microsoftonline.cn, login.chinacloudapi.cn
networkHost: login.microsoftonline.de, cacheHost: login.microsoftonline.de, aliases: login.microsoftonline.de
networkHost: login.microsoftonline.us, cacheHost: login.microsoftonline.us, aliases: login.microsoftonline.us, login.usgovcloudapi.net
networkHost: login-us.microsoftonline.com, cacheHost: login-us.microsoftonline.com, aliases: login-us.microsoftonline.com
Resolved authority, validated: YES, error: 0
[MSAL] Resolving authority: Masked(not-null), upn: Masked(null)
[MSAL] Resolved authority, validated: YES, error: 0
[MSAL] Start webview authorization session with webview controller class MSIDAADOAuthEmbeddedWebviewController:
[MSAL] Presenting web view controller.
Przykład rejestrowania można podzielić na trzy segmenty:
Segment | opis |
---|---|
get_accounts_operation |
Sprawdza, czy w pamięci podręcznej istnieją jakiekolwiek konta - ClientID: identyfikator aplikacji zarejestrowany w usłudze Microsoft Entra ID dla tej aplikacji MSAL ADB 3.1.40 wskazuje, że wersja wtyczki Microsoft Enterprise SSO Extension Broker |
login |
Broker obsługuje żądanie identyfikatora Entra firmy Microsoft: - Obsługa interakcyjnego żądania logowania jednokrotnego...: oznacza żądanie interakcyjne - correlation_id: przydatne do odsyłania krzyżowego przy użyciu dzienników logowania po stronie serwera firmy Microsoft - zakres: Zakres uprawnień interfejsu API User.Read żądany z poziomu programu Microsoft Graph - client_version: wersja biblioteki MSAL uruchomiona przez aplikację - redirect_uri: aplikacje MSAL używają formatu msauth.com.<Bundle ID>://auth |
Żądanie PRT | Proces uruchamiania aplikacji w celu uzyskania żądania PRT został zainicjowany i renderuje sesję logowania jednokrotnego usługi Webview Usługa brokera uwierzytelniania firmy Microsoft - clientId: 29d9ed98-a469-4536-ade2-f981bc1d605e — Wszystkie żądania PRT są wysyłane do usługi Microsoft Authentication Broker Service |
Zostanie wyświetlony kontroler aplikacji Webview logowania jednokrotnego i użytkownik zostanie poproszony o wprowadzenie nazwy logowania firmy Microsoft (UPN/email)
Uwaga
Kliknięcie przycisku i w lewym dolnym rogu kontrolera widoku internetowego powoduje wyświetlenie dodatkowych informacji na temat rozszerzenia logowania jednokrotnego oraz szczegółowych informacji o aplikacji, która ją wywołała.
Po pomyślnym wprowadzeniu poświadczeń usługi Microsoft Entra przez użytkownika następujące wpisy dziennika są zapisywane w dziennikach rozszerzenia logowania jednokrotnego
SSOExtensionLogs
///////////////
//Acquire PRT//
///////////////
[MSAL] -completeWebAuthWithURL: msauth://microsoft.aad.brokerplugin/?code=(not-null)&client_info=(not-null)&state=(not-null)&session_state=(not-null)
[MSAL] Dismissed web view controller.
[MSAL] Result from authorization session callbackURL host: microsoft.aad.brokerplugin , has error: NO
[MSAL] (Default accessor) Looking for token with aliases (
"login.windows.net",
"login.microsoftonline.com",
"login.windows.net",
"login.microsoft.com",
"sts.windows.net"
), tenant (null), clientId 29d9ed98-a469-4536-ade2-f981bc1d605e, scopes (null)
Saving PRT response in cache since no other PRT was found
[MSAL] Saving keychain item, item info Masked(not-null)
[MSAL] Keychain find status: 0
Acquired PRT.
///////////////////////////////////////////////////////////////////////
//Discover if there is an Azure AD Device Registration (WPJ) present //
//and if so re-acquire a PRT and associate with Device ID //
///////////////////////////////////////////////////////////////////////
WPJ Discovery: do discovery in environment 0
Attempt WPJ discovery using tenantId.
WPJ discovery succeeded.
Using cloud authority from WPJ discovery: https://login.microsoftonline.com/common
ADBrokerDiscoveryAction completed. Continuing Broker Flow.
PRT needs upgrade as device registration state has changed. Device is joined 1, prt is joined 0
Beginning ADBrokerAcquirePRTInteractivelyAction
Attempting to get Primary Refresh Token interactively.
Acquiring broker tokens for broker client id.
Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
Resolved authority, validated: YES, error: 0
Enrollment id read from intune cache : (null).
Handle silent PRT response Masked(not-null), error Masked(null)
Acquired broker tokens.
Acquiring PRT.
Acquiring PRT using broker refresh token.
Requesting PRT from authority https://login.microsoftonline.com/<TenantID>/oauth2/v2.0/token
[MSAL] (Default accessor) Looking for token with aliases (
"login.windows.net",
"login.microsoftonline.com",
"login.windows.net",
"login.microsoft.com",
"sts.windows.net"
), tenant (null), clientId (null), scopes (null)
[MSAL] Acquired PRT successfully!
Acquired PRT.
ADBrokerAcquirePRTInteractivelyAction completed. Continuing Broker Flow.
Beginning ADBrokerAcquireTokenWithPRTAction
Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
Resolved authority, validated: YES, error: 0
Handle silent PRT response Masked(not-null), error Masked(null)
//////////////////////////////////////////////////////////////////////////
//Provide Access Token received from Azure AD back to Client Application//
//and complete authorization request //
//////////////////////////////////////////////////////////////////////////
[MSAL] (Default cache) Removing credentials with type AccessToken, environment login.windows.net, realm TenantID, clientID 00001111-aaaa-2222-bbbb-3333cccc4444, unique user ID dbb22b2f, target User.Read profile openid email
ADBrokerAcquireTokenWithPRTAction succeeded.
Composing broker response.
Sending broker response.
Returning to app (msauth.com.microsoft.idnaace.MSALMacOS://auth) - protocol version: 3
hash: AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00
payload: Masked(not-null)
Completed interactive SSO request.
Completed interactive SSO request.
Request complete
Completing SSO request...
Finished SSO request.
W tym momencie w przepływie uwierzytelniania/autoryzacji prT został uruchomiony i powinien być widoczny w dostępie łańcucha kluczy systemu macOS. Zobacz Sprawdzanie dostępu pęku kluczy dla prT. Przykładowa aplikacja MSAL dla systemu macOS używa tokenu dostępu otrzymanego od brokera rozszerzeń logowania jednokrotnego firmy Microsoft w celu wyświetlenia informacji użytkownika.
Następnie sprawdź dzienniki logowania microsoft Entra po stronie serwera na podstawie identyfikatora korelacji zebranego z dzienników rozszerzenia logowania jednokrotnego po stronie klienta. Aby uzyskać więcej informacji, zobacz Dzienniki logowania w usłudze Microsoft Entra ID.
Wyświetlanie dzienników logowania w usłudze Microsoft Entra według filtru identyfikatora korelacji
- Otwórz pozycję Microsoft Entra Sign-ins dla dzierżawy, w której zarejestrowano aplikację.
- Wybierz pozycję Logowania użytkownika (interaktywne).
- Wybierz przycisk radiowy Dodaj filtry i wybierz przycisk radiowy Identyfikator korelacji.
- Skopiuj i wklej identyfikator korelacji uzyskany z dzienników rozszerzenia logowania jednokrotnego i wybierz pozycję Zastosuj.
W przypadku przepływu logowania interakcyjnego MSAL spodziewamy się interaktywnego logowania dla zasobu usługi Microsoft Authentication Broker . To zdarzenie polega na tym, że użytkownik wprowadził swoje hasło, aby uruchomić żądanie PRT.
Istnieją również zdarzenia logowania nieinterakcyjnego ze względu na fakt, że żądanie PRT jest używane do uzyskiwania tokenu dostępu dla żądania aplikacji klienckiej. Postępuj zgodnie z instrukcjami Wyświetl dzienniki logowania firmy Microsoft entra według filtru identyfikatora korelacji, ale w kroku 2 wybierz pozycję Logowania użytkownika (nieinterakcyjne).
Atrybut dziennika logowania | opis |
---|---|
Aplikacja | Nazwa wyświetlana rejestracji aplikacji w dzierżawie firmy Microsoft Entra, w której aplikacja kliencka się uwierzytelnia. |
Identyfikator aplikacji | Odniósł się również do identyfikatora ClientID rejestracji aplikacji w dzierżawie firmy Microsoft Entra. |
Zasób | Zasób interfejsu API, do którego aplikacja kliencka próbuje uzyskać dostęp. W tym przykładzie zasób jest interfejsem API programu Microsoft Graph. |
Typ tokenu przychodzącego | Typ tokenu przychodzącego podstawowego tokenu odświeżania (PRT) pokazuje token wejściowy używany do uzyskania tokenu dostępu dla zasobu. |
Agent użytkownika | Ciąg agenta użytkownika w tym przykładzie pokazuje, że rozszerzenie logowania jednokrotnego firmy Microsoft jest aplikacją przetwarzającą to żądanie. Przydatny wskaźnik, że jest używane rozszerzenie logowania jednokrotnego, a odbywa się żądanie uwierzytelniania brokera. |
Biblioteka uwierzytelniania aplikacji Microsoft Entra | Gdy aplikacja MSAL jest używana, szczegóły biblioteki i platformy są napisane tutaj. |
Informacje o zakresie Oauth | Informacje o zakresie Oauth2 żądane dla tokenu dostępu. (User.Read,profile,openid,email). |
Natywna biblioteka MSAL: przewodnik po przepływie dyskretnym
Po upływie okresu token dostępu nie będzie już prawidłowy. Jeśli więc użytkownik kliknie przycisk Wywołaj interfejs API programu Microsoft Graph. Rozszerzenie logowania jednokrotnego próbuje odświeżyć token dostępu przy użyciu już uzyskanego żądania PRT.
SSOExtensionLogs
/////////////////////////////////////////////////////////////////////////
//refresh operation: Assemble Request based on User information in PRT /
/////////////////////////////////////////////////////////////////////////
Beginning authorization request
Request does not need UI
Handling SSO request, requested operation: refresh
Handling silent SSO request...
Looking account up by home account ID dbb22b2f, displayable ID auth.placeholder-61945244__domainname.com
Account identifier used for request: Masked(not-null), auth.placeholder-61945244__domainname.com
Starting SSO broker request with payload: {
authority = "https://login.microsoftonline.com/<TenantID>";
"client_app_name" = MSALMacOS;
"client_app_version" = "1.0";
"client_id" = "00001111-aaaa-2222-bbbb-3333cccc4444";
"client_version" = "1.1.7";
"correlation_id" = "aaaa0000-bb11-2222-33cc-444444dddddd";
"extra_oidc_scopes" = "openid profile offline_access";
"home_account_id" = "<UserObjectId>.<TenantID>";
"instance_aware" = 0;
"msg_protocol_ver" = 4;
"provider_type" = "provider_aad_v2";
"redirect_uri" = "msauth.com.microsoft.idnaace.MSALMacOS://auth";
scope = "user.read";
username = "auth.placeholder-61945244__domainname.com";
}
//////////////////////////////////////////
//Acquire Access Token with PRT silently//
//////////////////////////////////////////
Using request handler <ADSSOSilentBrokerRequestHandler: 0x127226a10>
Executing new request
Beginning ADBrokerAcquireTokenSilentAction
Beginning silent flow.
[MSAL] Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
[MSAL] (Default cache) Removing credentials with type AccessToken, environment login.windows.net, realm <TenantID>, clientID 00001111-aaaa-2222-bbbb-3333cccc4444, unique user ID dbb22b2f, target User.Read profile openid email
[MSAL] (MSIDAccountCredentialCache) retrieving cached credentials using credential query
[MSAL] Silent controller with PRT finished with error Masked(null)
ADBrokerAcquireTokenWithPRTAction succeeded.
Composing broker response.
Sending broker response.
Returning to app (msauth.com.microsoft.idnaace.MSALMacOS://auth) - protocol version: 3
hash: AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00
payload: Masked(not-null)
Completed silent SSO request.
Request complete
Completing SSO request...
Finished SSO request.
Przykład rejestrowania można podzielić na dwa segmenty:
Segment | opis |
---|---|
refresh |
Broker obsługuje żądanie identyfikatora Entra firmy Microsoft: - Obsługa żądania logowania jednokrotnego w trybie dyskretnym...: oznacza żądanie dyskretne - correlation_id: przydatne do odsyłania krzyżowego przy użyciu dzienników logowania po stronie serwera firmy Microsoft - zakres: Zakres uprawnień interfejsu API User.Read żądany z poziomu programu Microsoft Graph - client_version: wersja biblioteki MSAL uruchomiona przez aplikację - redirect_uri: aplikacje MSAL używają formatu msauth.com.<Bundle ID>://auth Odświeżanie ma istotne różnice w ładunku żądania: - authority: zawiera punkt końcowy adresu URL dzierżawy firmy Microsoft w przeciwieństwie do wspólnego punktu końcowego - home_account_id: pokaż konto użytkownika w formacie <UserObjectId.<>Identyfikator dzierżawy> - nazwa użytkownika: skrócony format nazwy UPN auth.placeholder-XXXXXXXX__domainname.com |
Odświeżanie żądania ściągnięcia i uzyskiwanie tokenu dostępu | Ta operacja rewalyzuje żądanie ściągnięcia i odświeża go w razie potrzeby przed zwróceniem tokenu dostępu z powrotem do wywołującej aplikacji klienckiej. |
Możemy ponownie pobrać identyfikator korelacji uzyskany z dzienników rozszerzenia logowania jednokrotnego po stronie klienta i odwołania krzyżowego przy użyciu dzienników logowania microsoft Entra po stronie serwera.
Logowanie microsoft Entra pokazuje identyczne informacje do zasobu programu Microsoft Graph z operacji logowania w poprzedniej sekcji logowania interakcyjnego.
Przepływ logowania aplikacji bez biblioteki MSAL/przeglądarki logowania jednokrotnego
W poniższej sekcji opisano sposób badania dzienników rozszerzenia logowania jednokrotnego dla przepływu uwierzytelniania aplikacji innej niż MSAL/przeglądarka. W tym przykładzie używamy przeglądarki Apple Safari jako aplikacji klienckiej, a aplikacja wykonuje wywołanie aplikacji internetowej Office.com (OfficeHome).
Przewodnik po przepływie logowania jednokrotnego bez biblioteki MSAL/przeglądarki
W przypadku pomyślnego logowania powinny zostać wykonane następujące akcje:
- Załóżmy, że użytkownik, który już przeszedł proces uruchamiania aplikacji, ma istniejący prT.
- Na urządzeniu z wdrożonym brokerem rozszerzeń logowania jednokrotnego firmy Microsoft skonfigurowane flagi funkcji są sprawdzane, aby upewnić się, że aplikacja może być obsługiwana przez rozszerzenie logowania jednokrotnego.
- Ponieważ przeglądarka Safari jest zgodna ze stosem sieci firmy Apple, rozszerzenie logowania jednokrotnego próbuje przechwycić żądanie uwierzytelniania firmy Microsoft Entra.
- Żądanie PRT służy do uzyskiwania tokenu dla żądanego zasobu.
- Jeśli urządzenie jest zarejestrowane przez firmę Microsoft Entra, przekazuje identyfikator urządzenia wraz z żądaniem.
- Rozszerzenie logowania jednokrotnego wypełnia nagłówek żądania przeglądarki, aby zalogować się do zasobu.
Następujące dzienniki rozszerzenia logowania jednokrotnego po stronie klienta pokazują, że żądanie jest obsługiwane w sposób niewidoczny przez brokera rozszerzenia logowania jednokrotnego w celu spełnienia żądania.
SSOExtensionLogs
Created Browser SSO request for bundle identifier com.apple.Safari, cookie SSO include-list (
), use cookie sso for this app 0, initiating origin https://www.office.com
Init MSIDKeychainTokenCache with keychainGroup: Masked(not-null)
[Browser SSO] Starting Browser SSO request for authority https://login.microsoftonline.com/common
[MSAL] (Default accessor) Found 1 tokens
[Browser SSO] Checking PRTs for deviceId 73796663
[MSAL] [Browser SSO] Executing without UI for authority https://login.microsoftonline.com/common, number of PRTs 1, device registered 1
[MSAL] [Browser SSO] Processing request with PRTs and correlation ID in headers (null), query aaaa0000-bb11-2222-33cc-444444dddddd
[MSAL] Resolving authority: Masked(not-null), upn: Masked(null)
[MSAL] No cached preferred_network for authority
[MSAL] Caching AAD Environements
[MSAL] networkHost: login.microsoftonline.com, cacheHost: login.windows.net, aliases: login.microsoftonline.com, login.windows.net, login.microsoft.com, sts.windows.net
[MSAL] networkHost: login.partner.microsoftonline.cn, cacheHost: login.partner.microsoftonline.cn, aliases: login.partner.microsoftonline.cn, login.chinacloudapi.cn
[MSAL] networkHost: login.microsoftonline.de, cacheHost: login.microsoftonline.de, aliases: login.microsoftonline.de
[MSAL] networkHost: login.microsoftonline.us, cacheHost: login.microsoftonline.us, aliases: login.microsoftonline.us, login.usgovcloudapi.net
[MSAL] networkHost: login-us.microsoftonline.com, cacheHost: login-us.microsoftonline.com, aliases: login-us.microsoftonline.com
[MSAL] Resolved authority, validated: YES, error: 0
[MSAL] Found registration registered in login.microsoftonline.com, isSameAsRequestEnvironment: Yes
[MSAL] Passing device header in browser SSO for device id 43cfaf69-0f94-4d2e-a815-c103226c4c04
[MSAL] Adding SSO-cookie header with PRT Masked(not-null)
SSO extension cleared cookies before handling request 1
[Browser SSO] SSO response is successful 0
[MSAL] Keychain find status: 0
[MSAL] (Default accessor) Found 1 tokens
Request does not need UI
[MSAL] [Browser SSO] Checking PRTs for deviceId 73796663
Request complete
Składnik dziennika rozszerzenia logowania jednokrotnego | opis |
---|---|
Utworzono żądanie logowania jednokrotnego przeglądarki | Wszystkie żądania logowania jednokrotnego inne niż MSAL/przeglądarka zaczynają się od tego wiersza: - identyfikator pakietu: identyfikator pakietu: com.apple.Safari - inicjowanie źródła: adres URL sieci Web, do którego uzyskuje się dostęp przeglądarki przed naciśnięciem jednego z adresów URL logowania dla identyfikatora Entra firmy Microsoft (https://office.com) |
Uruchamianie żądania logowania jednokrotnego przeglądarki dla urzędu | Usuwa liczbę żądań ściągnięcia i jeśli urządzenie jest zarejestrowane: https://login.microsoftonline.com/common, liczba żądań ściągnięcia 1, urządzenie zarejestrowane 1 |
Identyfikator korelacji | [Logowanie jednokrotne przeglądarki] Przetwarzanie żądania za pomocą żądań ściągnięcia i identyfikatora korelacji w nagłówkach (null), identyfikator korelacji> zapytania<. Ten identyfikator jest ważny w przypadku odsyłania krzyżowego z dziennikami logowania po stronie serwera firmy Microsoft |
Rejestracja urządzenia | Opcjonalnie, jeśli urządzenie jest zarejestrowane przez firmę Microsoft Entra, rozszerzenie logowania jednokrotnego może przekazać nagłówek urządzenia w żądaniach logowania jednokrotnego przeglądarki: - Znaleziono rejestrację zarejestrowaną w - login.microsoftonline.com, isSameAsRequestEnvironment: Tak Przekazywanie nagłówka urządzenia w usłudze logowania jednokrotnego przeglądarki dla identyfikatora urządzenia 43cfaf69-0f94-4d2e-a815-c103226c4c04 |
Następnie użyj identyfikatora korelacji uzyskanego z dzienników rozszerzenia logowania jednokrotnego przeglądarki, aby odwołać się do dzienników logowania firmy Microsoft Entra.
Atrybut dziennika logowania | opis |
---|---|
Aplikacja | Nazwa wyświetlana rejestracji aplikacji w dzierżawie firmy Microsoft Entra, w której aplikacja kliencka się uwierzytelnia. W tym przykładzie nazwa wyświetlana to OfficeHome. |
Identyfikator aplikacji | Odniósł się również do identyfikatora ClientID rejestracji aplikacji w dzierżawie firmy Microsoft Entra. |
Zasób | Zasób interfejsu API, do którego aplikacja kliencka próbuje uzyskać dostęp. W tym przykładzie zasób jest aplikacją internetową OfficeHome . |
Typ tokenu przychodzącego | Typ tokenu przychodzącego podstawowego tokenu odświeżania (PRT) pokazuje token wejściowy używany do uzyskania tokenu dostępu dla zasobu. |
Wykryto metodę uwierzytelniania | Na karcie Szczegóły uwierzytelniania wartość wtyczki microsoft Entra SSO jest przydatnym wskaźnikiem, że rozszerzenie logowania jednokrotnego jest używane do ułatwienia żądania logowania jednokrotnego przeglądarki |
Wersja rozszerzenia microsoft Entra SSO | Na karcie Dodatkowe szczegóły ta wartość zawiera wersję aplikacji Microsoft Enterprise SSO Broker. |
Identyfikator urządzenia | Jeśli urządzenie jest zarejestrowane, rozszerzenie logowania jednokrotnego może przekazać identyfikator urządzenia do obsługi żądań uwierzytelniania urządzeń. |
System operacyjny | Przedstawia typ systemu operacyjnego. |
Zgodne | Rozszerzenie logowania jednokrotnego może ułatwić zasady zgodności, przekazując nagłówek urządzenia. Wymagania są następujące: - Rejestracja urządzeń w usłudze Microsoft Entra - Zarządzanie urządzeniami przenośnymi - Zgodność partnerów usługi Intune lub usługi Intune |
Zarządzany | Wskazuje, że urządzenie jest objęte zarządzaniem. |
Typ sprzężenia | Systemy macOS i iOS, jeśli zostały zarejestrowane, mogą być tylko typu: Firma Microsoft Entra jest zarejestrowana. |
Napiwek
Jeśli używasz narzędzia Jamf Connect, zaleca się przestrzeganie najnowszych wskazówek dotyczących integracji narzędzia Jamf Connect z identyfikatorem Microsoft Entra ID. Zalecany wzorzec integracji gwarantuje, że narzędzie Jamf Connect działa prawidłowo z zasadami dostępu warunkowego i Ochrona tożsamości Microsoft Entra.