Självstudie: Förbereda din iOS/macOS-app för intern autentisering
Gäller för: iOS (Swift) macOS (Swift)
Den här självstudien visar hur du lägger till SDK-ramverk för intern autentisering i Microsoft Authentication Library (MSAL) i din iOS/macOS Swift-app.
I den här självstudien lär du dig att:
- Lägg till MSAL-ramverket i en iOS/macOS-app.
- Skapa SDK-instans.
Förutsättningar
- Xcode
- Om du inte redan har gjort det följer du anvisningarna i Logga in användare i iOS-exempelmobilappen (Swift) med inbyggd autentisering och registrerar en app i din externa klientorganisation. Se till att du slutför följande steg:
- Registrera ett program.
- Aktivera offentliga klient- och interna autentiseringsflöden.
- Bevilja API-behörigheter.
- Skapa ett användarflöde.
- Associera appen med användarflödet.
- iOS/macOS-projekt
Lägga till MSAL-ramverket i en iOS/macOS-app
- Öppna ditt iOS/macOS-projekt i Xcode.
- Välj Lägg till paketberoenden... på menyn Arkiv .
- Ange
https://github.com/AzureAD/microsoft-authentication-library-for-objc
som paket-URL och välj Lägg till paket. - Lägg till en ny nyckelringsgrupp i projektet Funktioner. Använd
com.microsoft.adalcache
på iOS ochcom.microsoft.identity.universalstorage
i macOS.
Mer information och andra mekanismer för att lägga till MSAL i projektet finns i readme-filen för projektet.
Skapa SDK-instans
Importera MSAL-biblioteket till visningskontrollanten genom att lägga till
import MSAL
överstViewController
i klassen.Lägg till en
nativeAuth
medlemsvariabel i klassenViewController
genom att lägga till följande kod precis föreviewDidLoad()
funktionen:var nativeAuth: MSALNativeAuthPublicClientApplication!
Lägg sedan till följande kod i
viewDidLoad()
funktionen: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)") }
Ersätt följande värden med värdena från administrationscentret för Microsoft Entra:
Leta upp värdet
Enter_the_Application_Id_Here
och ersätt det med program-ID :t (klient) för den app som du registrerade tidigare.Enter_the_Tenant_Subdomain_Here
Leta upp och ersätt den med underdomänen Katalog (klientorganisation). Om din primära klientdomän till exempel ärcontoso.onmicrosoft.com
använder ducontoso
. Om du inte har underdomänen Katalog (klientorganisation) kan du läsa information om din klientorganisation.Utmaningstyperna är en lista med värden som appen använder för att meddela Microsoft Entra om den autentiseringsmetod som den stöder.
- För registrerings- och inloggningsflöden med engångslösenord för e-post använder du
[.OOB]
. - För registrerings- och inloggningsflöden med e-post och lösenord använder du
[.OOB, .password]
. - För självbetjäning av lösenordsåterställning (SSPR) använder du
[.OOB]
.
Läs mer om utmaningstyper.
- För registrerings- och inloggningsflöden med engångslösenord för e-post använder du
Om du vill skapa väljer du Produktversion> i projektets verktygsfält.
Valfritt: Loggningskonfiguration
MSAL tillhandahåller ett loggnings-API som du kan använda för att aktivera och konfigurera loggning. Om du vill se alla felsökningsutdata från MSAL lägger du till följande kod i början av viewDidLoad()
funktionen:
MSALGlobalConfig.loggerConfig.logLevel = .verbose
MSALGlobalConfig.loggerConfig.setLogCallback { logLevel, message, containsPII in
if !containsPII {
print("MSAL: \(message ?? "")")
}
}
Detta matar ut alla felsökningsloggar från MSAL, vilket kan vara användbart när du diagnostiserar problem och lär dig hur de interna autentiseringsflödena fungerar. Mer information om hur du konfigurerar loggnivåer och metodtips finns i Loggning i MSAL för iOS/macOS.