Esercitazione: preparare l'app iOS/macOS per l'autenticazione nativa

Si applica a: Cerchio verde con segno di spunta bianco. iOS (Swift) Cerchio verde con segno di spunta bianco. 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

Aggiungere il framework MSAL a un'app iOS/macOS

  1. Aprire il progetto iOS/macOS in Xcode.
  2. Selezionare Aggiungi dipendenze pacchetto... dal menu File.
  3. Immettere https://github.com/AzureAD/microsoft-authentication-library-for-objc come URL del pacchetto e scegliere Aggiungi pacchetto.
  4. Aggiungere un nuovo gruppo di keychain al progetto Capabilities. Usare com.microsoft.adalcache in iOS e com.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

  1. Importare la libreria MSAL nel controller di visualizzazione aggiungendo import MSAL nella parte superiore della classe ViewController.

  2. Aggiungere una variabile membro nativeAuth alla classe ViewController aggiungendo il codice seguente subito prima della funzione viewDidLoad():

    var nativeAuth: MSALNativeAuthPublicClientApplication!
    
  3. 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)")
     }
    
  4. Sostituire i valori seguenti con i valori dell'Interfaccia di amministrazione di Microsoft Entra:

    1. Trovare il valore Enter_the_Application_Id_Here e sostituirlo con l'ID applicazione (client) dell'app registrata in precedenza.

    2. Trovare Enter_the_Tenant_Subdomain_Here e sostituirlo con il sottodominio Directory (tenant). Ad esempio, se il dominio primario del tenant è contoso.onmicrosoft.com, usare contoso. 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.

  5. 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.

Passaggio successivo