Etap 2. Wymagania wstępne i konfiguracja biblioteki MSAL

Zestaw SDK aplikacji usługi Intune używa biblioteki uwierzytelniania firmy Microsoft na potrzeby scenariuszy uwierzytelniania i uruchamiania warunkowego. Opiera się również na bibliotece MSAL w celu zarejestrowania tożsamości użytkownika w usłudze zarządzania aplikacjami mobilnymi na potrzeby zarządzania scenariuszami bez rejestracji urządzeń.

Uwaga

Ten przewodnik jest podzielony na kilka odrębnych etapów. Zacznij od zapoznania się z etapem 1: Planowanie integracji.

Cele etapu

  • Zarejestruj aplikację w usłudze Microsoft Entra ID.
  • Zintegruj bibliotekę MSAL z aplikacją systemu iOS.
  • Sprawdź, czy aplikacja może uzyskać token udzielający dostępu do chronionych zasobów.

Instalowanie i konfigurowanie rejestracji aplikacji usługi Microsoft Entra

MSAL wymaga, aby aplikacje zarejestrowały się przy użyciu usługi Microsoft Entra ID i utworzyły unikatowy identyfikator klienta oraz przekierowywały identyfikatory URI, aby zagwarantować bezpieczeństwo tokenów przyznanych aplikacji. Jeśli aplikacja używa już biblioteki MSAL do własnego uwierzytelniania, z aplikacją powinna już być skojarzona rejestracja aplikacji usługi Microsoft Entra/identyfikator klienta/identyfikator przekierowywania.

Jeśli Twoja aplikacja nie używa jeszcze biblioteki MSAL, musisz skonfigurować rejestrację aplikacji w usłudze Microsoft Entra ID i określić identyfikator klienta oraz identyfikator URI przekierowania, którego ma używać zestaw SDK usługi Intune.

Jeśli aplikacja używa obecnie biblioteki ADAL do uwierzytelniania użytkowników, zobacz Migrowanie aplikacji do biblioteki MSAL dla systemów iOS i macOS , aby uzyskać więcej informacji na temat migrowania aplikacji z biblioteki ADAL do biblioteki MSAL.

Zaleca się, aby aplikacja zawierała linki do najnowszej wersji biblioteki MSAL.

Postępuj zgodnie z sekcją instalacji , aby umieścić pliki binarne MSAL w aplikacji.

Konfigurowanie biblioteki MSAL

Postępuj zgodnie z sekcją konfiguracji , aby skonfigurować bibliotekę MSAL. Upewnij się, że wykonałeś wszystkie kroki w sekcji konfiguracji. Zignoruj krok pierwszy, jeśli Twoja aplikacja jest już zarejestrowana w usłudze Microsoft Entra ID.

Punkty poniżej zawierają dodatkowe informacje dotyczące konfigurowania biblioteki MSAL i linku do niej. Postępuj zgodnie z nimi, jeśli mają one zastosowanie do Twojej aplikacji.

  • Jeśli aplikacja nie ma zdefiniowanych żadnych grup dostępu pęku kluczy, dodaj identyfikator pakietu aplikacji jako pierwszą grupę.
  • Włącz logowanie jednokrotne (SSO) MSAL, dodając com.microsoft.adalcache je do grup dostępu pęku kluczy.
  • Jeśli jawnie ustawiasz grupę pęku kluczy udostępnionej pamięci podręcznej MSAL, upewnij się, że jest ona ustawiona na <appidprefix>.com.microsoft.adalcache. Biblioteka MSAL ustawi to za Ciebie, chyba że ją zastąpisz. Jeśli chcesz określić niestandardową grupę pęku kluczy do zastąpienia com.microsoft.adalcache, określ ją w pliku Info.plist w obszarze IntuneMAMSettings, używając klucza ADALCacheKeychainGroupOverride.

Konfigurowanie ustawień biblioteki MSAL dla zestawu SDK aplikacji usługi Intune

Po skonfigurowaniu rejestracji aplikacji dla aplikacji w usłudze Microsoft Entra ID można skonfigurować zestaw SDK aplikacji usługi Intune do używania ustawień z rejestracji aplikacji podczas uwierzytelniania w usłudze Microsoft Entra ID. Zobacz Konfigurowanie ustawień zestawu SDK aplikacji usługi Intune, aby uzyskać informacje o wypełnianiu następujących ustawień:

  • ADALClientId
  • ADALAudrożnienie
  • ADALRedirectUri
  • ADALRedirectScheme
  • ADALCacheKeychainGroupOverride

Wymagane są następujące konfiguracje:

  1. W pliku Info.plist projektu w słowniku IntuneMAMSettings z nazwą ADALClientIdklucza określ identyfikator klienta, który ma być używany dla wywołań MSAL.

  2. Jeśli rejestracja aplikacji usługi Microsoft Entra, która odpowiada identyfikatorowi klienta skonfigurowanemu w kroku 1, jest skonfigurowana do użytku tylko w jednej dzierżawie usługi Microsoft Entra, skonfiguruj ADALAuthority klucz w słowniku IntuneMAMSettings w pliku Info.plist aplikacji. Określ urząd usługi Microsoft Entra, który ma być używany przez bibliotekę MSAL do uzyskiwania tokenów dla usługi zarządzania aplikacjami mobilnymi usługi Intune.

  3. Również w słowniku IntuneMAMSettings z nazwą ADALRedirectUriklucza określ identyfikator URI przekierowania, który ma być używany dla wywołań MSAL. Alternatywnie możesz zamiast tego określić ADALRedirectScheme , czy identyfikator URI przekierowania aplikacji jest w formacie scheme://bundle_id.

    Alternatywnie aplikacje mogą zastąpić te ustawienia usługi Microsoft Entra w czasie wykonywania. W tym celu po prostu ustaw aadAuthorityUriOverridewłaściwości IntuneMAMSettings , aadClientIdOverridei dla aadRedirectUriOverride klasy.

  4. Upewnij się, że przestrzegane są kroki nadawania aplikacji systemu iOS uprawnień do usługi zarządzania aplikacjami mobilnymi (MAM) usługi Intune. Skorzystaj z instrukcji w przewodniku Wprowadzenie do zestawu SDK usługi Intune w obszarze Udzielanie aplikacji dostępu do usługi zarządzania aplikacjami mobilnymi usługi Intune).

    Uwaga

    Jeśli zasady ochrony aplikacji są powiązane z urządzeniami zarządzanymi, konieczne jest również utworzenie profilu konfiguracji aplikacji zintegrowanej z usługą Intune.

    Podejście Info.plist jest zalecane dla wszystkich ustawień, które są statyczne i nie muszą być określane w czasie wykonywania. Wartości przypisane do IntuneMAMSettings właściwości klasy w czasie wykonywania mają pierwszeństwo przed wszelkimi odpowiadającymi im wartościami określonymi w pliku Info.plist i będą utrwalane nawet po ponownym uruchomieniu aplikacji. Zestaw SDK będzie nadal używać ich do ewidencjonowania zasad, dopóki użytkownik nie zostanie wyrejestrowany lub wartości nie zostaną wyczyszczone lub zmienione.

Szczególne uwarunkowania dotyczące używania biblioteki MSAL na potrzeby uwierzytelniania inicjowanego przez aplikację

Zaleca się, aby aplikacje nie używały SFSafariViewController, SFAuththenticationSession ani ASWebAuthenticationSession jako widoku sieci Web dla wszelkich operacji interaktywnego uwierzytelniania MSAL inicjowanych przez aplikację. Domyślnie biblioteka MSAL używa biblioteki ASWebAuthenticationSession, więc deweloperzy aplikacji powinni jawnie ustawić typ widoku sieci Web na WKWebView. Jeśli z jakiegoś powodu aplikacja musi używać typu widoku sieci Web innego niż WKWebView dla dowolnych interakcyjnych operacji uwierzytelniania MSAL, musi również być ustawiona SafariViewControllerBlockedOverride na true w słowniku IntuneMAMSettings w pliku Info.plist aplikacji.

Ostrzeżenie

Spowoduje to wyłączenie elementów zaczepienia SafariViewController usługi Intune w celu włączenia sesji uwierzytelniania. Wiąże się to z ryzykiem wycieku danych w innym miejscu w aplikacji, jeśli aplikacja używa SafariViewController do wyświetlania danych firmowych, więc aplikacja nie powinna wyświetlać danych firmowych w żadnym z tych typów widoków internetowych.

Kryteria zakończenia

  • Czy Twoja aplikacja została zarejestrowana na stronie rejestracji aplikacji usługi Microsoft Entra?
  • Czy zintegrowano bibliotekę MSAL z aplikacją?
  • Czy włączono uwierzytelnianie brokera, generując identyfikator URI przekierowania i ustawiając go w pliku konfiguracji MSAL?
  • Czy masz pewność, że wymagane informacje o konfiguracji MSAL w słowniku IntuneMAMSettings są zgodne z informacjami w rejestracjach aplikacji usługi Microsoft Entra?

Często zadawane pytania

A co z biblioteką ADAL?

Poprzednia biblioteka uwierzytelniania firmy Microsoft, Azure Active Directory Authentication Library (ADAL), jest przestarzała.

Jeśli w aplikacji zintegrowano już bibliotekę ADAL, zobacz Aktualizowanie aplikacji w celu używania biblioteki Microsoft Authentication Library (MSAL). Aby przeprowadzić migrację aplikacji z biblioteki ADAL do biblioteki MSAL, zobacz Migrowanie aplikacji do biblioteki MSAL dla systemów iOS i macOS

Zaleca się migrację z biblioteki ADAL do biblioteki MSAL przed zintegrowaniem zestawu SDK aplikacji usługi Intune.

Następne kroki

Po zakończeniu wszystkich powyższych kryteriów wyjścia przejdź do etapu 3: integracja zestawu SDK usługi Intune z aplikacją systemu iOS.