Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:
Externa klienter (läs mer)
Den här handledningen visar hur du lägger till Microsoft Authentication Library (MSAL) SDK för native-autentisering i din iOS/macOS Swift-app.
I den här handledningen kommer du att:
- Lägg till MSAL-ramverket i en iOS/macOS-app.
- Skapa SDK-instans.
Förutsättningar
- Xcode (på engelska)
- 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-objcsom paket-URL och välj Lägg till paket. - Lägg till en ny nyckelgrupp i projektet Kapaciteter. Använd
com.microsoft.adalcachepå iOS ochcom.microsoft.identity.universalstoragepå 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
nativeAuthmedlemsvariabel 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_Hereoch ersätt det med program-ID (klient)-ID:t för appen som du registrerade tidigare.Leta upp
Enter_the_Tenant_Subdomain_Hereoch ersätt den med underdomänen Katalog (klientorganisation). Om din primära klientdomän till exempel ärcontoso.onmicrosoft.comanvä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-.