Kurz: Příprava aplikace pro iOS/macOS na nativní ověřování
platí pro: nájemníci pracovních sil
externí nájemníci (další informace)
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 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řte uživatelský tok
- 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íčků....
- Jako adresu URL balíčku zadejte
https://github.com/AzureAD/microsoft-authentication-library-for-objc
a zvolte Přidat balíček. - Přidejte do projektu novou klíčenkovou skupinu v rámci Schopnosti. Používejte
com.microsoft.adalcache
v iOSu acom.microsoft.identity.universalstorage
v macOS.
Další informace a jiné mechanismy pro přidání MSAL do vašeho projektu naleznete v souboru projektu Readme.
Vytvoření instance sady SDK
Naimportujte knihovnu MSAL do kontroleru zobrazení přidáním
import MSAL
v horní části třídyViewController
.Přidejte členskou proměnnou
nativeAuth
do třídyViewController
přidáním následujícího kódu těsně před funkcíviewDidLoad()
:var nativeAuth: MSALNativeAuthPublicClientApplication!
Dále do funkce
viewDidLoad()
přidejte následující kód: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:
Najděte hodnotu
Enter_the_Application_Id_Here
a nahraďte ji ID aplikace (klienta) aplikace, kterou jste zaregistrovali dříve.Najděte
Enter_the_Tenant_Subdomain_Here
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 (tenant), zjistěte, jak zobrazit podrobnosti o tenantovi.Typy výzvy jsou seznam hodnot, které aplikace používá k informování Microsoft Entra o metodě ověřování, kterou podporuje.
- Pro toky registrace a přihlašování s jednorázovým e-mailovým heslem 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]
.
- Pro toky registrace a přihlašování s jednorázovým e-mailovým heslem použijte
Pokud chcete vytvořit, vyberte na panelu nástrojů projektu Product>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 všechny výstupy ladění z MSAL, přidejte na začátek funkce viewDidLoad()
následující kód:
MSALGlobalConfig.loggerConfig.logLevel = .verbose
MSALGlobalConfig.loggerConfig.setLogCallback { logLevel, message, containsPII in
if !containsPII {
print("MSAL: \(message ?? "")")
}
}
Tímto se zobrazí všechny logy ladění z knihovny MSAL, které mohou být užitečné při diagnostice problémů a zjištění, jak fungují nativní autentizační procesy. Další informace o konfiguraci úrovní protokolů a osvědčených postupů najdete v tématu Protokolování v MSAL pro iOS/macOS.