Zelfstudie: Uw iOS-/macOS-app voorbereiden voor systeemeigen verificatie
Van toepassing op: iOS (Swift) macOS (Swift)
In deze zelfstudie ziet u hoe u systeemeigen MSAL-verificatie-SDK-framework (Microsoft Authentication Library) toevoegt aan uw iOS-/macOS Swift-app.
In deze zelfstudie leert u het volgende:
- Voeg het MSAL-framework toe aan een iOS-/macOS-app.
- Een SDK-exemplaar maken.
Vereisten
- Xcode
- Als u dat nog niet hebt gedaan, volgt u de instructies in de mobiele iOS-voorbeeld-app (Swift) in de voorbeeld-app voor iOS (Swift) met behulp van systeemeigen verificatie en registreert u een app in uw externe tenant. Zorg ervoor dat u de volgende stappen uitvoert:
- Een toepassing registreren.
- Schakel openbare client- en systeemeigen verificatiestromen in.
- API-machtigingen verlenen.
- Maak een gebruikersstroom.
- Koppel de app aan de gebruikersstroom.
- iOS-/macOS-project
Het MSAL-framework toevoegen aan een iOS-/macOS-app
- Open uw iOS-/macOS-project in Xcode.
- Selecteer Pakketafhankelijkheden toevoegen... in het menu Bestand .
- Voer
https://github.com/AzureAD/microsoft-authentication-library-for-objc
de url van het pakket in en kies Pakket toevoegen. - Voeg een nieuwe sleutelketengroep toe aan uw project Mogelijkheden. Gebruiken
com.microsoft.adalcache
in iOS encom.microsoft.identity.universalstorage
macOS.
Zie het leesmij-bestand van het project voor meer informatie en andere mechanismen om MSAL aan uw project toe te voegen.
EEN SDK-exemplaar maken
Importeer de MSAL-bibliotheek in uw weergavecontroller door boven aan uw
ViewController
klas toe te voegenimport MSAL
.Voeg een
nativeAuth
lidvariabele toe aan uwViewController
klasse door de volgende code toe te voegen vlak voor deviewDidLoad()
functie:var nativeAuth: MSALNativeAuthPublicClientApplication!
Voeg vervolgens de volgende code toe aan de
viewDidLoad()
functie: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)") }
Vervang de volgende waarden door de waarden uit het Microsoft Entra-beheercentrum:
Zoek de waarde en vervang deze
Enter_the_Application_Id_Here
door de toepassings-id (client) van de app die u eerder hebt geregistreerd.Zoek het
Enter_the_Tenant_Subdomain_Here
subdomein en vervang deze door het subdomein Directory (tenant). Als uw primaire tenantdomein bijvoorbeeld iscontoso.onmicrosoft.com
, gebruikt ucontoso
. Als u uw subdomein Directory (tenant) niet hebt, leest u de details van uw tenant.De uitdagingstypen zijn een lijst met waarden die door de app worden gebruikt om Microsoft Entra op de hoogte te stellen van de verificatiemethode die wordt ondersteund.
- Gebruik voor aanmeldings- en aanmeldingsstromen met eenmalige wachtwoordcode
[.OOB]
voor e-mail. - Gebruik
[.OOB, .password]
voor aanmeldings- en aanmeldingsstromen met e-mail en wachtwoord. - Gebruik voor selfservice voor wachtwoordherstel (SSPR).
[.OOB]
- Gebruik voor aanmeldings- en aanmeldingsstromen met eenmalige wachtwoordcode
Als u wilt bouwen, selecteert u de productbuild> op de werkbalk van uw project.
Optioneel: Configuratie van logboekregistratie
MSAL biedt een api voor logboekregistratie die u kunt gebruiken om logboekregistratie in te schakelen en te configureren. Als u alle uitvoer van foutopsporing van MSAL wilt zien, voegt u de volgende code toe aan het begin van de viewDidLoad()
functie:
MSALGlobalConfig.loggerConfig.logLevel = .verbose
MSALGlobalConfig.loggerConfig.setLogCallback { logLevel, message, containsPII in
if !containsPII {
print("MSAL: \(message ?? "")")
}
}
Hiermee worden alle logboeken voor foutopsporing van MSAL uitgevoerd. Dit kan handig zijn bij het diagnosticeren van problemen en het leren hoe de systeemeigen verificatiestromen werken. Zie Logboekregistratie in MSAL voor iOS/macOS voor meer informatie over het configureren van logboekniveaus en aanbevolen procedures.