Samouczek: przygotowywanie aplikacji systemu iOS/macOS do uwierzytelniania natywnego
Dotyczy: iOS (Swift) macOS (Swift)
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 czynności:
- Dodaj strukturę MSAL do aplikacji systemu iOS/macOS.
- Utwórz wystąpienie zestawu SDK.
Wymagania wstępne
- Xcode
- Jeśli jeszcze tego nie zrobiono, postępuj zgodnie z instrukcjami w artykule Logowanie użytkowników w przykładowej aplikacji mobilnej systemu iOS (Swift) przy użyciu uwierzytelniania natywnego i rejestrowania aplikacji w dzierżawie zewnętrznej. Upewnij się, że wykonasz następujące kroki:
- Rejestrowanie aplikacji.
- Włącz przepływy uwierzytelniania publicznego i natywnego klienta.
- Udzielanie uprawnień interfejsu API.
- Tworzenie przepływu użytkownika.
- Skojarz aplikację z przepływem użytkownika.
- Projekt systemu iOS/macOS
Dodawanie platformy MSAL do aplikacji systemu iOS/macOS
- Otwórz projekt systemu iOS/macOS w środowisku Xcode.
- Wybierz pozycję Dodaj zależności pakietu... z menu Plik .
- Wprowadź
https://github.com/AzureAD/microsoft-authentication-library-for-objc
jako adres URL pakietu i wybierz pozycję Dodaj pakiet. - Dodaj nową grupę pęku kluczy do możliwości projektu. Używaj
com.microsoft.adalcache
w systemach iOS icom.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
Zaimportuj bibliotekę MSAL do kontrolera widoku, dodając
import MSAL
w górnej częściViewController
klasy.Dodaj zmienną składową
nativeAuth
doViewController
klasy, dodając następujący kod tuż przed funkcjąviewDidLoad()
:var nativeAuth: MSALNativeAuthPublicClientApplication!
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)") }
Zastąp następujące wartości wartościami z centrum administracyjnego firmy Microsoft Entra:
Enter_the_Application_Id_Here
Znajdź wartość i zastąp ją identyfikatorem aplikacji (klienta) zarejestrowanej wcześniej aplikacji.Znajdź i
Enter_the_Tenant_Subdomain_Here
zastąp ją poddomeną Katalog (dzierżawa). Jeśli na przykład domena podstawowa dzierżawy tocontoso.onmicrosoft.com
, użyj poleceniacontoso
. 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ń.
- W przypadku przepływów rejestracji i logowania przy użyciu jednorazowego kodu dostępu poczty e-mail użyj polecenia
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.