Kurz: Příprava aplikace pro iOS/macOS na nativní ověřování
Platí pro: iOS (Swift) macOS (Swift)
V tomto kurzu se dozvíte, jak do aplikace iOS/macOS Swift přidat nativní ověřovací sadu SDK knihovny Microsoft Authentication Library (MSAL).
V tomto kurzu se naučíte:
- Přidejte rozhraní MSAL do aplikace pro iOS/macOS.
- Vytvořte instanci sady SDK.
Požadavky
- Xcode
- Pokud jste to ještě neudělali, postupujte podle pokynů v části Přihlášení uživatelů v ukázkové mobilní aplikaci pro iOS (Swift) pomocí nativního ověřování a zaregistrujte aplikaci ve vašem externím tenantovi. Ujistěte se, že jste dokončili následující kroky:
- Zaregistrujte aplikaci.
- Povolte veřejné klienty a nativní toky ověřování.
- Udělení oprávnění rozhraní API
- Vytvoření toku uživatele
- Přidružte aplikaci k toku uživatele.
- Projekt iOS/macOS
Přidání architektury MSAL do aplikace pro iOS/macOS
- Otevřete projekt iOS/macOS v Xcode.
- V nabídce Soubor vyberte Přidat závislosti balíčku...
- Zadejte
https://github.com/AzureAD/microsoft-authentication-library-for-objc
jako adresu URL balíčku a zvolte Přidat balíček. - Do funkcí projektu přidejte novou skupinu řetězce klíčů. Používá se
com.microsoft.adalcache
v iOSu acom.microsoft.identity.universalstorage
v macOS.
Další informace a další mechanismy pro přidání KNIHOVNY MSAL do projektu naleznete v souboru Readme projektu.
Vytvoření instance sady SDK
Importujte knihovnu MSAL do kontroleru zobrazení přidáním
import MSAL
v horní částiViewController
třídy.Přidejte do
ViewController
třídy proměnnounativeAuth
člena přidáním následujícího kódu těsně předviewDidLoad()
funkci:var nativeAuth: MSALNativeAuthPublicClientApplication!
Dále do funkce přidejte následující kód
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)") }
Nahraďte následující hodnoty hodnotami z Centra pro správu Microsoft Entra:
Enter_the_Application_Id_Here
Vyhledejte hodnotu a nahraďte ji ID aplikace (klienta) aplikace, kterou jste zaregistrovali dříve.Enter_the_Tenant_Subdomain_Here
Vyhledejte a nahraďte ho subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenantacontoso.onmicrosoft.com
, použijtecontoso
. Pokud nemáte subdoménu adresáře (tenanta), přečtěte si, jak si přečíst podrobnosti o tenantovi.Typy výzvy jsou seznam hodnot, které aplikace používá k oznámení Microsoft Entra o metodě ověřování, kterou podporuje.
- Pro toky registrace a přihlašování pomocí jednorázového hesla e-mailu použijte
[.OOB]
. - Pro toky registrace a přihlašování pomocí e-mailu a hesla použijte
[.OOB, .password]
. - Pro samoobslužné resetování hesla (SSPR) použijte
[.OOB]
.
Přečtěte si další typy výzev.
- Pro toky registrace a přihlašování pomocí jednorázového hesla e-mailu použijte
Pokud chcete vytvořit, vyberte na panelu nástrojů projektu produktový>build.
Volitelné: Konfigurace protokolování
MSAL poskytuje rozhraní API pro protokolování, které můžete použít k povolení a konfiguraci protokolování. Pokud chcete zobrazit veškerý výstup ladění z KNIHOVNY MSAL, přidejte na začátek viewDidLoad()
funkce následující kód:
MSALGlobalConfig.loggerConfig.logLevel = .verbose
MSALGlobalConfig.loggerConfig.setLogCallback { logLevel, message, containsPII in
if !containsPII {
print("MSAL: \(message ?? "")")
}
}
Tento výstup obsahuje všechny protokoly ladění z KNIHOVNY MSAL, které můžou být užitečné při diagnostice problémů a zjištění, jak fungují nativní toky ověřování. Další informace o konfiguraci úrovní protokolů a osvědčených postupů najdete v tématu Protokolování v MSAL pro iOS/macOS.