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.
Fase Goals
- 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 in Microsoft Entra ID e specificare l'ID client e l'URI di reindirizzamento che l'SDK 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 su Microsoft Entra ID. 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 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 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 eseguire l'override di queste impostazioni Microsoft Entra in fase di esecuzione. A tale scopo, è sufficiente impostare le
aadAuthorityUriOverride
proprietà ,aadClientIdOverride
eaadRedirectUriOverride
nellaIntuneMAMSettings
classe .Assicurarsi che vengano seguiti i passaggi per concedere all'app iOS le autorizzazioni per il servizio di gestione delle app mobili (MAM) Intune. Usare le istruzioni riportate nell'introduzione alla guida Intune SDK in Concedere all'app l'accesso al servizio Gestione app per dispositivi mobili 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: Intune'integrazione dell'SDK nell'app iOS.