Fase 2: Prerequisito e configurazione di MSAL

Intune App SDK usa Microsoft Authentication Library per gli scenari di autenticazione e avvio condizionale. Si basa anche su MSAL per registrare l'identità utente con il servizio MAM per la gestione senza scenari di registrazione dei dispositivi.

Nota

Questa guida è suddivisa in diverse fasi distinte. Per iniziare, esaminare la fase 1: Pianificazione dell'integrazione.

Obiettivi di fase

  • Registrare l'applicazione con Microsoft Entra ID.
  • Integrare MSAL nell'applicazione iOS.
  • Verificare che l'applicazione possa ottenere un token che concede l'accesso alle risorse protette.

Configurare e configurare una registrazione dell'app Microsoft Entra

MSAL richiede alle app di registrarsi con Microsoft Entra ID e creare un ID client univoco e un URI di reindirizzamento, per garantire la sicurezza dei token concessi all'app. Se l'applicazione usa già MSAL per la propria autenticazione, all'app dovrebbe essere già associato un URI di registrazione/ID client/reindirizzamento dell'app Microsoft Entra.

Se l'app non usa già MSAL, dovrai configurare una registrazione dell'app nell'ID Microsoft Entra e specificare l'ID client e l'URI di reindirizzamento che l'SDK di Intune deve usare.

Se l'app usa attualmente ADAL per autenticare gli utenti, vedere Eseguire la migrazione delle applicazioni a MSAL per iOS e macOS per altre informazioni sulla migrazione dell'app da ADAL a MSAL.

È consigliabile che l'app sia collegata alla versione più recente di MSAL.

Seguire la sezione di installazione per inserire i file binari MSAL nell'app.

Configurare MSAL

Seguire la sezione di configurazione per configurare MSAL. Assicurarsi di seguire tutti i passaggi della sezione di configurazione. Ignorare il passaggio 1 se l'app è già registrata nell Microsoft Entra ID.

I punti seguenti contengono informazioni aggiuntive per configurare MSAL e collegarvi. Seguire questi criteri se si applicano all'applicazione.

  • Se l'app non ha gruppi di accesso keychain definiti, aggiungere l'ID bundle dell'app come primo gruppo.
  • Abilitare l'accesso Single Sign-On (SSO) di MSAL aggiungendo com.microsoft.adalcache ai gruppi di accesso keychain.
  • Nel caso in cui si stia impostando in modo esplicito il gruppo keychain della cache condivisa MSAL, assicurarsi che sia impostato su <appidprefix>.com.microsoft.adalcache. MSAL lo imposterà per l'utente, a meno che non venga sostituito. Se si desidera specificare un gruppo di portachiavi personalizzato da sostituire com.microsoft.adalcache, specificare che nel file Info.plist in IntuneMAMSettings, usando la chiave ADALCacheKeychainGroupOverride.

Configurare le impostazioni MSAL per Intune App SDK

Dopo aver configurato una registrazione dell'app per l'applicazione nell'ID Microsoft Entra, è possibile configurare Intune App SDK per usare le impostazioni della registrazione dell'app durante l'autenticazione in base all'ID Microsoft Entra. Per informazioni sul popolamento delle impostazioni seguenti, vedere Configurare le impostazioni per Intune App SDK :

  • ADALClientId
  • ADALAuthority
  • ADALRedirectUri
  • ADALRedirectScheme
  • ADALCacheKeychainGroupOverride

Sono necessarie le configurazioni seguenti:

  1. Nel file Info.plist del progetto, nel dizionario IntuneMAMSettings con il nome ADALClientIddella chiave, specificare l'ID client da usare per le chiamate MSAL.

  2. Se la registrazione dell'app Microsoft Entra che esegue il mapping all'ID client configurato nel passaggio 1 è configurata per l'uso in un solo tenant Microsoft Entra, configurare la ADALAuthority chiave nel dizionario IntuneMAMSettings all'interno del file Info.plist dell'applicazione. Specificare l'autorità Microsoft Entra da usare da MSAL per l'acquisizione di token per il servizio di gestione delle applicazioni mobili di Intune.

  3. Anche nel dizionario IntuneMAMSettings con il nome ADALRedirectUridella chiave specificare l'URI di reindirizzamento da usare per le chiamate MSAL. In alternativa, è possibile specificare ADALRedirectScheme se l'URI di reindirizzamento dell'applicazione è nel formato scheme://bundle_id.

    In alternativa, le app possono eseguire l'override di queste impostazioni Microsoft Entra in fase di esecuzione. A tale scopo, è sufficiente impostare le aadAuthorityUriOverrideproprietà , aadClientIdOverridee aadRedirectUriOverride nella IntuneMAMSettings classe .

  4. Assicurarsi che i passaggi per concedere le autorizzazioni dell'app iOS al servizio Gestione app per dispositivi mobili (MAM) di Intune siano seguiti. Usare le istruzioni riportate nella guida introduttiva all'SDK di Intune in Concedere all'app l'accesso al servizio Gestione app per dispositivi mobili di Intune.

    Nota

    Se i criteri di protezione delle app sono correlati ai dispositivi gestiti, è necessario anche creare un profilo di configurazione dell'app dell'applicazione con Intune integrato.

    L'approccio Info.plist è consigliato per tutte le impostazioni statiche che non devono essere determinate in fase di esecuzione. I valori assegnati alle proprietà della IntuneMAMSettings classe in fase di esecuzione hanno la precedenza sui valori corrispondenti specificati in Info.plist e verranno mantenuti anche dopo il riavvio dell'app. L'SDK continuerà a usarli per le archiviazioni dei criteri fino a quando l'utente non viene annullato o i valori non vengono cancellati o modificati.

Considerazioni speciali sull'uso di MSAL per l'autenticazione avviata dall'app

È consigliabile che le applicazioni non usino SFSafariViewController, SFAuththenticationSession o ASWebAuthenticationSession come visualizzazione Web per qualsiasi operazione di autenticazione interattiva MSAL avviata dall'app. Per impostazione predefinita, MSAL usa ASWebAuthenticationSession, quindi gli sviluppatori di app devono impostare in modo esplicito il tipo di visualizzazione Web su WKWebView. Se per qualche motivo l'app deve usare un tipo di visualizzazione Web diverso da WKWebView per qualsiasi operazione di autenticazione MSAL interattiva, deve anche essere impostata su SafariViewControllerBlockedOverridetrue sotto il IntuneMAMSettings dizionario nel file Info.plist dell'applicazione.

Avviso

In questo modo si disattivano gli hook SafariViewController di Intune per abilitare la sessione di autenticazione. In questo modo si rischia perdite di dati altrove nell'app se l'applicazione usa SafariViewController per visualizzare i dati aziendali, quindi l'applicazione non deve mostrare i dati aziendali in nessuno di questi tipi di visualizzazione Web.

Criteri di uscita

  • L'app è stata registrata nella pagina di registrazione dell'app Microsoft Entra?
  • È stato integrato MSAL nell'applicazione?
  • È stata abilitata l'autenticazione broker generando un URI di reindirizzamento e impostandolo nel file di configurazione MSAL?
  • Si è verificato che le informazioni di configurazione necessarie per MSAL nel dizionario IntuneMAMSettings corrispondano a quelle nelle registrazioni dell'app Microsoft Entra?

Domande frequenti

Che dire di ADAL?

La libreria di autenticazione precedente di Microsoft, Azure Active Directory Authentication Library (ADAL) è deprecata.

Se l'applicazione ha già integrato ADAL, vedere Aggiornare le applicazioni per l'uso di Microsoft Authentication Library (MSAL). Per eseguire la migrazione dell'app da ADAL a MSAL, vedere Eseguire la migrazione delle applicazioni a MSAL per iOS e macOS

È consigliabile eseguire la migrazione da ADAL a MSAL prima di integrare Intune App SDK.

Operazioni successive

Dopo aver completato tutti i criteri di uscita precedenti, passare alla fase 3: Integrazione di Intune SDK nell'app iOS.