Udostępnij za pośrednictwem


Samouczek: przygotowywanie aplikacji systemu iOS/macOS do uwierzytelniania natywnego

Dotyczy: Biały okrąg z szarym symbolem X. Najemcy Workforce Zielony okrąg z białym znacznikiem wyboru. Najemcy zewnętrzni (dowiedz się więcej)

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 pakietów... 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 projektu Capabilities. Użyj com.microsoft.adalcache w systemach iOS i com.microsoft.identity.universalstorage w systemie macOS.

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

Utwórz instancję pakietu SDK

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

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

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

     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. Znajdź wartość Enter_the_Application_Id_Here i zastąp ją identyfikatorem aplikacji (klienta) zarejestrowanej wcześniej aplikacji.

    2. Znajdź Enter_the_Tenant_Subdomain_Here i zastąp ją poddomeną Katalog (dzierżawa). Jeśli na przykład domena podstawowa dzierżawy jest contoso.onmicrosoft.com, użyj 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 rejestracji i logowania z jednorazowym kodem e-mail użyj [.OOB].
      • Dla procesów rejestracji i logowania za pomocą poczty e-mail i hasła użyj [.OOB, .password].
      • W przypadku samoobsługowego resetowania hasła (SSPR) użyj [.OOB].

      Dowiedz się więcej o typach wyzwań .

  5. Aby zbudować, wybierz Product>Build 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 funkcji viewDidLoad():

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 logów i najlepszych praktyk, zobacz logowanie w MSAL dla systemów iOS i macOS.

Następny krok