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. Ponadto usługa MSAL służy do rejestrowania tożsamości użytkownika w usłudze MAM na potrzeby zarządzania bez scenariuszy rejestracji urządzeń.

Uwaga

Ten przewodnik jest podzielony na kilka odrębnych etapów. Zacznij od przejrzenia etapu 1: planowanie integracji.

Cele etapów

  • Zarejestruj aplikację przy użyciu identyfikatora Microsoft Entra.
  • Integrowanie biblioteki MSAL z aplikacją systemu iOS.
  • Sprawdź, czy aplikacja może uzyskać token, który udziela dostępu do chronionych zasobów.

Konfigurowanie i konfigurowanie rejestracji aplikacji Microsoft Entra

Biblioteka MSAL wymaga, aby aplikacje rejestrowały się przy użyciu identyfikatora Microsoft Entra i tworzyły unikatowy identyfikator klienta i identyfikator URI przekierowania, aby zagwarantować bezpieczeństwo tokenów przyznanych aplikacji. Jeśli aplikacja używa już biblioteki MSAL do własnego uwierzytelniania, z aplikacją powinien już istnieć identyfikator URI rejestracji aplikacji Microsoft Entra/identyfikator klienta/przekierowanie.

Jeśli aplikacja nie korzysta jeszcze z biblioteki MSAL, musisz skonfigurować rejestrację aplikacji w Microsoft Entra identyfikatorze i określić identyfikator klienta i identyfikator URI przekierowania, których powinien używać zestaw SDK usługi Intune.

Jeśli aplikacja obecnie używa 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 łączyła się z najnowszą wersją 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ć usługę MSAL. Upewnij się, że zostały opisane wszystkie kroki w sekcji konfiguracji. Zlekceważ krok pierwszy, jeśli aplikacja jest już zarejestrowana w Microsoft Entra identyfikatorze.

Poniższe punkty zawierają dodatkowe informacje umożliwiające skonfigurowanie biblioteki MSAL i połączenie z nią. Postępuj zgodnie z tymi instrukcjami, jeśli dotyczą one twojej aplikacji.

  • Jeśli aplikacja nie ma zdefiniowanych grup dostępu łańcucha kluczy, dodaj identyfikator pakietu aplikacji jako pierwszą grupę.
  • Włącz logowanie jednokrotne msal przez dodanie com.microsoft.adalcache do grup dostępu łańcucha kluczy.
  • W przypadku jawnego ustawienia grupy łańcucha kluczy udostępnionej pamięci podręcznej MSAL upewnij się, że jest ona ustawiona na <appidprefix>.com.microsoft.adalcachewartość . Biblioteka MSAL ustawi tę opcję dla Ciebie, chyba że ją zastąpisz. Jeśli chcesz określić niestandardową grupę łańcucha kluczy do zastąpienia com.microsoft.adalcache, określ to w pliku Info.plist w obszarze IntuneMAMSettings przy użyciu klucza ADALCacheKeychainGroupOverride.

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

Po skonfigurowaniu rejestracji aplikacji w Microsoft Entra identyfikatorze możesz skonfigurować zestaw SDK aplikacji usługi Intune tak, aby używał ustawień z poziomu rejestracji aplikacji podczas uwierzytelniania względem Microsoft Entra identyfikatora. Aby uzyskać informacje na temat wypełniania następujących ustawień, zobacz Konfigurowanie ustawień zestawu SDK aplikacji usługi Intune :

  • ADALClientId
  • ADALAuthority
  • ADALRedirectUri
  • ADALRedirectScheme
  • ADALCacheKeychainGroupOverride

Wymagane są następujące konfiguracje:

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

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

  3. Również w słowniku IntuneMAMSettings o nazwie ADALRedirectUriklucza określ identyfikator URI przekierowania, który ma być używany dla wywołań MSAL. Alternatywnie można określić ADALRedirectScheme , czy identyfikator URI przekierowania aplikacji ma format scheme://bundle_id.

    Alternatywnie aplikacje mogą zastępować te ustawienia Microsoft Entra w czasie wykonywania. Aby to zrobić, po prostu ustaw aadAuthorityUriOverridewłaściwości , aadClientIdOverridei aadRedirectUriOverride dla IntuneMAMSettings klasy.

  4. Upewnij się, że zostały wykonane kroki udzielania aplikacji systemu iOS uprawnień do usługi Zarządzania aplikacjami mobilnymi (MAM) usługi Intune. Skorzystaj z instrukcji zawartych w przewodniku rozpoczynania pracy z zestawem 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 ze zintegrowaną 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 odpowiednimi 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 zostaną wyczyszczone lub zmienione.

Specjalne zagadnienia dotyczące używania biblioteki MSAL do uwierzytelniania inicjowanego przez aplikację

Zalecane jest, aby aplikacje nie używały SFSafariViewController, SFAuththenticationSession ani ASWebAuthenticationSession jako widoku internetowego dla wszystkich operacji uwierzytelniania interaktywnego MSAL zainicjowanych przez aplikację. Domyślnie biblioteka MSAL używa interfejsu ASWebAuthenticationSession, więc deweloperzy aplikacji powinni jawnie ustawić typ widoku internetowego na WKWebView. Jeśli z jakiegoś powodu aplikacja musi używać typu widoku internetowego innego niż WKWebView dla dowolnych interaktywnych operacji uwierzytelniania MSAL, musi również ustawić SafariViewControllerBlockedOverridetrue wartość w IntuneMAMSettings słowniku w pliku Info.plist aplikacji.

Ostrzeżenie

Spowoduje to wyłączenie haków SafariViewController usługi Intune w celu włączenia sesji uwierzytelniania. Powoduje to ryzyko wycieków danych w innym miejscu w aplikacji, jeśli aplikacja używa kontrolki SafariViewController do wyświetlania danych firmowych, więc aplikacja nie powinna pokazywać danych firmowych w żadnym z tych typów widoków internetowych.

Kryteria zakończenia

  • Czy aplikacja została zarejestrowana na stronie rejestracji aplikacji Microsoft Entra?
  • Czy zintegrowano usługę MSAL z aplikacją?
  • Czy włączono uwierzytelnianie brokera przez wygenerowanie identyfikatora URI przekierowania i ustawienie go w pliku konfiguracji MSAL?
  • Czy upewniono się, że wymagane informacje o konfiguracji biblioteki MSAL w słowniku IntuneMAMSettings pasują do tych w Microsoft Entra Rejestracje aplikacji?

Często zadawane pytania

A co z biblioteką ADAL?

Poprzednia biblioteka uwierzytelniania firmy Microsoft, Biblioteka uwierzytelniania usługi Azure Active Directory (ADAL), jest przestarzała.

Jeśli twoja aplikacja ma już zintegrowaną bibliotekę ADAL, zobacz Aktualizowanie aplikacji w celu korzystania z biblioteki uwierzytelniania firmy Microsoft (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ę przeprowadzenie migracji 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 zakończenia przejdź do etapu 3. Integracja zestawu SDK usługi Intune z aplikacją systemu iOS.