Samouczek: przygotowywanie aplikacji systemu iOS/macOS do uwierzytelniania natywnego

Dotyczy: Zielony okrąg z białym symbolem znacznika wyboru. iOS (Swift) macOS (Swift) Zielony okrąg z białym symbolem znacznika wyboru.

W tym samouczku pokazano, jak dodać natywną strukturę zestawu SDK uwierzytelniania biblioteki Microsoft Authentication Library (MSAL) do aplikacji Swift dla systemu iOS/macOS.

Z tego samouczka dowiesz się, jak wykonywać następujące działania:

  • Dodaj strukturę MSAL do aplikacji systemu iOS/macOS.
  • Utwórz wystąpienie zestawu SDK.

Warunki wstępne

Dodawanie platformy MSAL do aplikacji systemu iOS/macOS

  1. Otwórz projekt systemu iOS/macOS w środowisku Xcode.
  2. Wybierz pozycję Dodaj zależności pakietu... z menu Plik .
  3. Wprowadź https://github.com/AzureAD/microsoft-authentication-library-for-objc jako adres URL pakietu i wybierz pozycję Dodaj pakiet.
  4. Dodaj nową grupę pęku kluczy do możliwości projektu. Używaj com.microsoft.adalcache w systemach iOS i com.microsoft.identity.universalstorage macOS.

Aby uzyskać więcej informacji i innych mechanizmów dodawania biblioteki MSAL do projektu, zobacz plik Readme projektu.

Tworzenie wystąpienia zestawu SDK

  1. Zaimportuj bibliotekę MSAL do kontrolera widoku, dodając import MSAL w górnej części ViewController klasy.

  2. Dodaj zmienną składową nativeAuth do ViewController klasy, dodając następujący kod tuż przed funkcją viewDidLoad() :

    var nativeAuth: MSALNativeAuthPublicClientApplication!
    
  3. Następnie dodaj następujący kod do viewDidLoad() funkcji:

     do {
        nativeAuth = try MSALNativeAuthPublicClientApplication(
            clientId: "Enter_the_Application_Id_Here",
            tenantSubdomain: "Enter_the_Tenant_Subdomain_Here",
            challengeTypes: [.OOB]
        )
    
        print("Initialized Native Auth successfully.")
     } catch {
        print("Unable to initialize MSAL \(error)")
     }
    
  4. Zastąp następujące wartości wartościami z centrum administracyjnego firmy Microsoft Entra:

    1. Enter_the_Application_Id_Here Znajdź wartość i zastąp ją identyfikatorem aplikacji (klienta) zarejestrowanej wcześniej aplikacji.

    2. Znajdź i Enter_the_Tenant_Subdomain_Here zastąp ją poddomeną Katalog (dzierżawa). Jeśli na przykład domena podstawowa dzierżawy to contoso.onmicrosoft.com, użyj polecenia contoso. Jeśli nie masz poddomeny katalogu (dzierżawy), dowiedz się, jak odczytywać szczegóły dzierżawy.

      Typy wyzwań to lista wartości, których aplikacja używa do powiadamiania firmy Microsoft Entra o obsługiwanej przez nią metodzie uwierzytelniania.

      • W przypadku przepływów rejestracji i logowania przy użyciu jednorazowego kodu dostępu poczty e-mail użyj polecenia [.OOB].
      • W przypadku przepływów rejestracji i logowania przy użyciu poczty e-mail i hasła użyj polecenia [.OOB, .password].
      • W przypadku samoobsługowego resetowania hasła (SSPR) użyj polecenia [.OOB].

      Dowiedz się więcej o typach wyzwań.

  5. Aby skompilować, wybierz pozycję Kompilacja produktu>na pasku narzędzi projektu.

Opcjonalnie: Konfiguracja rejestrowania

Biblioteka MSAL udostępnia interfejs API rejestrowania, którego można użyć do włączania i konfigurowania rejestrowania. Aby wyświetlić wszystkie dane wyjściowe debugowania z biblioteki MSAL, dodaj następujący kod na początku viewDidLoad() funkcji:

MSALGlobalConfig.loggerConfig.logLevel = .verbose
MSALGlobalConfig.loggerConfig.setLogCallback { logLevel, message, containsPII in
   if !containsPII {
      print("MSAL: \(message ?? "")")
   }
}

Spowoduje to wyjście wszystkich dzienników debugowania z biblioteki MSAL, które mogą być przydatne podczas diagnozowania problemów i uczenia się, jak działają przepływy uwierzytelniania natywnego. Aby dowiedzieć się więcej na temat konfigurowania poziomów dzienników i najlepszych rozwiązań, zobacz Rejestrowanie w bibliotece MSAL dla systemu iOS/macOS.

Następny krok