Zelfstudie: Uw iOS-/macOS-app voorbereiden voor systeemeigen verificatie
Van toepassing op: Werknemershuurders
Externe huurders (meer informatie)
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.
Voorwaarden
- Xcode
- Als u dat nog niet hebt gedaan, volgt u de instructies in Gebruikers aanmelden in een voorbeeld van een mobiele iOS-app (Swift) met behulp van systeemeigen verificatie en een app registreren in uw externe tenant. Zorg ervoor dat u de volgende stappen uitvoert:
- Een toepassing registreren.
- Schakel openbare client- en interne 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
in als pakket-URL en kies Pakket toevoegen. - Voeg een nieuwe sleutelhangergroep toe aan uw project Capabilities. Gebruik
com.microsoft.adalcache
in iOS encom.microsoft.identity.universalstorage
op macOS.
Zie het leesmij-bestand van het projectvoor 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
import MSAL
boven aan uwViewController
-klasse toe te voegen.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 functie
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)") }
Vervang de volgende waarden door de waarden uit het Microsoft Entra-beheercentrum:
Zoek de
Enter_the_Application_Id_Here
waarde en vervang deze door de Application-id (client)-id van de app die u eerder hebt geregistreerd.Zoek de
Enter_the_Tenant_Subdomain_Here
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, leert u hoe u uw tenantgegevens leest.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
[.OOB]
voor aanmeldings- en aanmeldingsstromen met eenmalige wachtwoordcode voor e-mail. - Gebruik
[.OOB, .password]
voor aanmeldings- en aanmeldingsstromen met e-mail en wachtwoord. - Gebruik
[.OOB]
voor selfservice voor wachtwoordherstel (SSPR).
Meer informatie over uitdagingstypen.
- Gebruik
Als u wilt bouwen, selecteert u de Product>Build 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 foutopsporingsuitvoer van MSAL wilt zien, voegt u de volgende code toe aan het begin van de functie viewDidLoad()
:
MSALGlobalConfig.loggerConfig.logLevel = .verbose
MSALGlobalConfig.loggerConfig.setLogCallback { logLevel, message, containsPII in
if !containsPII {
print("MSAL: \(message ?? "")")
}
}
Hiermee worden alle debuglogboeken van MSAL uitgevoerd, wat nuttig kan zijn bij het diagnosticeren van problemen en het leren hoe de natuurlijke authenticatiestromen werken. Zie Logboekregistratie in MSAL voor iOS-/macOS-voor meer informatie over het configureren van logboekniveaus en aanbevolen procedures.