Självstudie: Förbereda din iOS/macOS-app för intern autentisering
Gäller för: Workforce-hyresgäster
externa hyresgäster (läs mer)
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 handledningen lär du dig:
- 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 registrera en app i din externa klientorganisation. Se till att du slutför följande steg:
- Registrera en applikation.
- 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... från 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 nyckelgrupp i projektet Kapaciteter. Använd
com.microsoft.adalcache
på iOS ochcom.microsoft.identity.universalstorage
på macOS.
Mer information och andra mekanismer för att lägga till MSAL i projektet finns i -projektets Readme-fil.
Skapa SDK-instans
Importera MSAL-biblioteket till visningskontrollanten genom att lägga till
import MSAL
överst i klassenViewController
.Lägg till en
nativeAuth
medlemsvariabel i dinViewController
-klass genom att lägga till följande kod precis före funktionenviewDidLoad()
:var nativeAuth: MSALNativeAuthPublicClientApplication!
Lägg sedan till följande kod i funktionen
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)") }
Ersätt följande värden med värdena från administrationscentret för Microsoft Entra:
Leta reda på värdet
Enter_the_Application_Id_Here
och ersätt det med program-ID (klient)-ID:t för appen som du registrerade tidigare.Leta upp
Enter_the_Tenant_Subdomain_Here
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 din katalog (klientorganisation) underdomän kan du lära dig att läsa dina klientuppgifter.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 återställning av lösenord via självbetjäning (SSPR) använder du
[.OOB]
.
Läs mer utmaningstyper.
- För registrerings- och inloggningsflöden med engångslösenord för e-post använder du
Skapa genom att välja Product>Build 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 funktionen viewDidLoad()
:
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-.