Esercitazione: preparare l'app iOS/macOS per l'autenticazione nativa
Si applica a: iOS (Swift) macOS (Swift)
Questa esercitazione illustra come aggiungere il framework SDK di autenticazione nativa Microsoft Authentication Library (MSAL) all'app iOS/macOS Swift.
In questa esercitazione apprenderai a:
- Aggiungere il framework MSAL a un'app iOS/macOS.
- Creare un'istanza dell'SDK.
Prerequisiti
- Xcode
- Se non è già stato fatto, seguire le istruzioni in Accedi agli utenti nell'app per dispositivi mobili iOS (Swift) di esempio usando l'autenticazione nativa e registrare un'app nel tenant esterno. Assicurarsi di completare i passaggi seguenti:
- Registrare un'applicazione.
- Abilitare i flussi del client pubblico e dell’autenticazione nativa.
- Concedere le autorizzazioni di accesso alle API.
- Creare un flusso utente.
- Associare l'app al flusso utente.
- Progetto iOS/macOS
Aggiungere il framework MSAL a un'app iOS/macOS
- Aprire il progetto iOS/macOS in Xcode.
- Selezionare Aggiungi dipendenze pacchetto... dal menu File.
- Immettere
https://github.com/AzureAD/microsoft-authentication-library-for-objc
come URL del pacchetto e scegliere Aggiungi pacchetto. - Aggiungere un nuovo gruppo di keychain al progetto Capabilities. Usare
com.microsoft.adalcache
in iOS ecom.microsoft.identity.universalstorage
in macOS.
Per altre informazioni e altri meccanismi per aggiungere MSAL al progetto, vedere il file Leggimi del progetto.
Creare un'istanza dell'SDK
Importare la libreria MSAL nel controller di visualizzazione aggiungendo
import MSAL
nella parte superiore della classeViewController
.Aggiungere una variabile membro
nativeAuth
alla classeViewController
aggiungendo il codice seguente subito prima della funzioneviewDidLoad()
:var nativeAuth: MSALNativeAuthPublicClientApplication!
Aggiungere quindi il codice seguente alla funzione
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)") }
Sostituire i valori seguenti con i valori dell'Interfaccia di amministrazione di Microsoft Entra:
Trovare il valore
Enter_the_Application_Id_Here
e sostituirlo con l'ID applicazione (client) dell'app registrata in precedenza.Trovare
Enter_the_Tenant_Subdomain_Here
e sostituirlo con il sottodominio Directory (tenant). Ad esempio, se il dominio primario del tenant ècontoso.onmicrosoft.com
, usarecontoso
. Se il sottodominio directory (tenant) non è disponibile, vedere come leggere i dettagli del tenant.I tipi di verifica sono un elenco di valori che l'app usa per notificare a Microsoft Entra il metodo di autenticazione supportato.
- Per i flussi di iscrizione e di accesso con passcode monouso di posta elettronica usare
[.OOB]
. - Per i flussi di iscrizione e di accesso con posta elettronica e password usare
[.OOB, .password]
. - Per la reimpostazione della password self-service (SSPR), usare
[.OOB]
.
Altre informazioni sui tipi di verifica.
- Per i flussi di iscrizione e di accesso con passcode monouso di posta elettronica usare
Per compilare, selezionare la Compilazione>Prodotto nella barra degli strumenti del progetto.
Facoltativo: configurazione della registrazione
MSAL offre un'API di registrazione che è possibile usare per abilitare e configurare la registrazione. Per visualizzare tutto l'output di debug di MSAL, aggiungere il codice seguente all'inizio della funzione viewDidLoad()
:
MSALGlobalConfig.loggerConfig.logLevel = .verbose
MSALGlobalConfig.loggerConfig.setLogCallback { logLevel, message, containsPII in
if !containsPII {
print("MSAL: \(message ?? "")")
}
}
In questo modo vengono restituiti tutti i log di debug da MSAL, che possono essere utili per diagnosticare i problemi e apprendere il funzionamento dei flussi di autenticazione nativi. Per altre informazioni sulla configurazione dei livelli di log e sulle procedure consigliate, vedere Registrazione in MSAL per iOS/macOS.