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 l'ID Microsoft Entra.
- Integrare MSAL nell'applicazione iOS.
- Verificare che l'applicazione possa ottenere un token che concede l'accesso alle risorse protette.
Configurare e configurare la registrazione di un'app Microsoft Entra
MSAL richiede alle app di registrarsi con l'ID Microsoft Entra 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 in Microsoft Entra ID 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.
Collegare MSAL al progetto
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 in 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 sostituirecom.microsoft.adalcache
, specificare che nel file Info.plist in IntuneMAMSettings, usando la chiaveADALCacheKeychainGroupOverride
.
Configurare le impostazioni MSAL per Intune App SDK
Dopo aver configurato una registrazione dell'app per l'applicazione in Microsoft Entra ID, è possibile configurare Intune App SDK per usare le impostazioni della registrazione dell'app durante l'autenticazione con l'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:
Nel file Info.plist del progetto, nel dizionario IntuneMAMSettings con il nome
ADALClientId
della chiave, specificare l'ID client da usare per le chiamate MSAL.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 di 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.Anche nel dizionario IntuneMAMSettings con il nome
ADALRedirectUri
della chiave specificare l'URI di reindirizzamento da usare per le chiamate MSAL. In alternativa, è possibile specificareADALRedirectScheme
se l'URI di reindirizzamento dell'applicazione è nel formatoscheme://bundle_id
.In alternativa, le app possono ignorare queste impostazioni di Microsoft Entra in fase di esecuzione. A tale scopo, è sufficiente impostare le
aadAuthorityUriOverride
proprietà ,aadClientIdOverride
eaadRedirectUriOverride
nellaIntuneMAMSettings
classe .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 SafariViewControllerBlockedOverride
true
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.