Consentire agli utenti di accedere nell'app per dispositivi mobili iOS (Swift) di esempio con l'autenticazione nativa
Questa guida spiega come eseguire un'applicazione iOS di esempio che illustra gli scenari di iscrizione, accesso, disconnessione e reimpostazione delle password con Microsoft Entra External ID.
In questo articolo vengono illustrate le operazioni seguenti:
- Registrare l'applicazione nel tenant esterno.
- Abilitare il client pubblico e i flussi di autenticazione nativi.
- Creare il flusso utente nel tenant esterno.
- Associare l'applicazione al flusso utente.
- Aggiornare un'applicazione per dispositivi mobili iOS nativa di esempio per usare i dettagli del tenant esterno.
- Eseguire e testare l'applicazione per dispositivi mobili iOS nativa di esempio.
Prerequisiti
- Xcode
- Un tenant esterno. Se non si dispone già di una versione, iscriversi per la versione di prova gratuita
Registrare un'applicazione
Per consentire all'applicazione di permettere agli utenti di registrarsi con Microsoft Entra, è necessario che l'ID esterno di Microsoft Entra riconosca l'applicazione creata. La registrazione dell'app stabilisce una relazione di trust tra l'app e Microsoft Entra. Quando si registra un'applicazione, l'ID esterno genera un identificatore univoco noto come ID applicazione (client), un valore usato per identificare l'app durante la creazione di richieste di autenticazione.
La procedura seguente illustra come registrare l'app nell'Interfaccia di amministrazione di Microsoft Entra:
Accedere all’Interfaccia di amministrazione di Microsoft Entra almeno come sviluppatore di applicazioni.
Se si ha accesso a più tenant, usare l'icona Impostazioni
nel menu in alto per passare al tenant esterno dal menu Directory e sottoscrizioni.
Passare a Identità>Applicazioni>Registrazioni app.
Seleziona + Nuova registrazione.
Nella pagina Registra un'applicazione che viene visualizzata:
- Selezionare Nome per immettere un nome applicazione significativo da mostrare agli utenti dell'app, ad esempio ciam-client-app.
- In Tipi di account supportati selezionare Account solo in questa directory organizzativa.
Selezionare Registra.
Al termine della registrazione, viene visualizzato il riquadro Panoramica dell'applicazione. Registrare l'ID applicazione (client) da usare nel codice sorgente dell'applicazione.
Abilitare i flussi del client pubblico e dell’autenticazione nativa
Per specificare che l'app è un client pubblico e può usare l'autenticazione nativa, abilitare i flussi del client pubblico e dell’autenticazione nativa:
- Nella pagina Registrazioni app, selezionare la registrazione dell'app per cui si vuole abilitare i flussi del client pubblico e dell’autenticazione nativa.
- In Gestisci selezionare Autenticazione.
- In Impostazioni avanzate, consentire i flussi del client pubblico:
- Per Abilita i flussi per dispositivi mobili e desktop seguenti, selezionare Sì.
- Per Abilita autenticazione nativa, selezionare Sì.
- Selezionare il pulsante Salva.
Concedere il consenso amministratore
Nella pagina Registrazioni app selezionare l'applicazione creata, ad esempio ciam-client-app, per aprire la relativa pagina Panoramica.
In Gestisci selezionare Autorizzazioni API. Nell'elenco Autorizzazioni configurate, all'applicazione è stata assegnata l'autorizzazione User.Read. Poiché il tenant è esterno, gli utenti consumer stessi non possono tuttavia fornire il consenso a questa autorizzazione. L'amministratore deve fornire il consenso a questa autorizzazione per conto di tutti gli utenti nel tenant:
- Selezionare Concedi consenso amministratore per <nome del tenant>, quindi selezionare Sì.
- Selezionare Aggiorna, quindi verificare che Concesso per <nome del tenant> venga visualizzato in Stato per entrambi gli ambiti.
Creare un flusso utente
Per creare un flusso utente, attenersi alla procedura riportata di seguito.
Accedere all’Interfaccia di amministrazione di Microsoft Entra almeno come sviluppatore di applicazioni.
Se si ha accesso a più tenant, assicurarsi di usare la directory che contiene il tenant esterno:
- Selezionare l'icona Directory e sottoscrizioni nella barra degli strumenti.
- Nella pagina Impostazioni del portale | Directory e sottoscrizioni, trovare la directory del tenant esterno nell'elenco Nome directory e quindi selezionare Cambia.
Nel menu della barra laterale selezionare Identità.
Selezionare Identità esterne>Flussi utente.
Selezionare + Nuovo flusso utente.
Nella pagina Crea:
In Nome immettere un il nome del flusso utente, ad esempio SignInSignUpSample.
Nell'elenco Provider di identità selezionare Account di posta elettronica. Questo provider di identità consente agli utenti di accedere o registrarsi usando il proprio indirizzo di posta elettronica.
In Account di posta elettronica è possibile selezionare una delle due opzioni. Per questa esercitazione, selezionare Invia passcode monouso tramite e-mail.
- Invia tramite e-mail con password: consente ai nuovi utenti di registrarsi ed eseguire l’accesso usando un indirizzo di posta elettronica come nome di accesso e una password come credenziale di primo fattore.
- Invia passcode monouso tramite e-mail: consente ai nuovi utenti di registrarsi ed eseguire l’accesso usando un indirizzo di posta elettronica come nome di accesso e la passcode monouso ricevuta tramite e-mail come credenziale di primo fattore. Per rendere disponibile questa opzione a livello di flusso utente, assicurarsi di abilitare il passcode monouso della posta elettronica (OTP) a livello di tenant. A tale scopo, selezionare Tutti i provider di identità e quindi, per Invia passcode monouso tramite e-mail, selezionare Configurato, l'opzione Sì e infine selezionare Salva.
In Attributi utente, è possibile scegliere gli attributi che si vuole raccogliere dall'utente al momento della registrazione. Per questa guida, selezionare Paese/area geografica e Città.
Seleziona Crea. Il nuovo flusso utente viene visualizzato nell'elenco Flussi utente. Se necessario, aggiornare la pagina.
Associare l'applicazione al flusso utente
Anche se molte applicazioni possono essere associate al flusso utente, è possibile associare un solo flusso utente a ciascuna applicazione. Un flusso utente consente di configurare l'esperienza utente per applicazioni specifiche. Ad esempio, è possibile configurare un flusso utente che richiede agli utenti di eseguire l’accesso o registrarsi con l'indirizzo di posta elettronica.
Nel menu della barra laterale selezionare Identità.
Selezionare Identità esterne, quindi Flussi utente.
Nella pagina Flussi utente selezionare il nome del flusso utente creato in precedenza, ad esempio SignInSignUpSample.
In Usa selezionare Applicazioni.
Seleziona Aggiungi applicazione.
Selezionare l'applicazione dall'elenco, ad esempio ciam-client-app, o usare la casella di ricerca per trovare l'applicazione e quindi selezionarla.
Scegli Seleziona.
Clonare un'applicazione per dispositivi mobili iOS di esempio
Aprire Terminale e passare alla directory in cui si vuole conservare il codice.
Clonare l'applicazione per dispositivi mobili iOS da GitHub eseguendo il comando seguente:
git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-ios-sample.git
Passare alla directory in cui è stato clonato il repository:
cd ms-identity-ciam-native-auth-ios-sample
Configurare l'applicazione per dispositivi mobili iOS di esempio
In Xcode aprire il progetto NativeAuthSampleApp.xcodeproj.
Aprire il file NativeAuthSampleApp/Configuration.swift.
Individuare il segnaposto:
Enter_the_Application_Id_Here
e sostituirlo con l'ID applicazione (client) dell’app registrata in precedenza.Enter_the_Tenant_Subdomain_Here
e sostituirlo con il sottodominio della directory (tenant). Ad esempio, se il dominio primario del tenant ècontoso.onmicrosoft.com
, usare contoso. Se il sottodominio del tenant non è disponibile, vedere come leggere i dettagli del tenant.
Nota
Ricordarsi di selezionare uno schema per la compilazione e la destinazione in cui eseguire i prodotti compilati. Ogni schema contiene un elenco di dispositivi reali o simulati che rappresentano le destinazioni disponibili.
Eseguire e testare un'applicazione per dispositivi mobili iOS di esempio
Per compilare ed eseguire il codice, selezionare Run dal menu Product in Xcode. Dopo una compilazione riuscita, Xcode avvierà l'app di esempio nel simulatore.
Questa guida testa l'utilizzo di un passcode monouso tramite posta elettronica. Immettere un indirizzo di posta elettronica valido, selezionare Iscrizionee avviare la schermata del codice di invio:
Dopo aver immesso l'indirizzo di posta elettronica nella schermata precedente, l'applicazione invierà un codice di verifica. Dopo l’invio del codice ricevuto, l'applicazione torna alla schermata precedente e vi accede automaticamente.
Altri scenari supportati da questo esempio
L'app di esempio supporta i flussi seguenti:
- Posta elettronica e password consente i flussi di accesso o iscrizione tramite un messaggio di posta elettronica con password.
- Posta elettronica e registrazione password con attributi utente consente l'iscrizione tramite posta elettronica e password e l'invio di attributi utente.
- Reimpostazione della password copre la reimpostazione della password self-service (SSPR).
- Accesso alle API protette consente di chiamare un'API protetta dopo che l'utente si è registrato o ha effettuato l'accesso e ha acquisito un token di accesso.
- Fallback al Web browser consente di usare l'autenticazione basata sul browser come meccanismo di fallback quando l'utente non riesce a completare l'autenticazione tramite l'autenticazione nativa per qualsiasi motivo.
Testare l’invio tramite posta elettronica con un flusso di password
In questa sezione, si testa l'invio tramite posta elettronica con un flusso di password e le relative varianti, ad esempio, la registrazione tramite invio di un’e-mail con password che include gli attributi dell'utente e l’SSPR:
Per creare un nuovo flusso utente, seguire la procedura descritta in Creare un flusso utente, selezionando tuttavia Invio di e-mail con password come metodo di autenticazione. È necessario configurare Paese/area geografica e Città come attributi utente. In alternativa, è possibile modificare il flusso utente esistente per usare Invio di e-mail con password. A tale scopo, selezionare Identità esterne>Flussi utente> SignInSignUpSample>Provider di identità>Invio di e-mail con password>Salva.
Usare la procedura descritta in Associare l'applicazione al nuovo flusso utente per aggiungere un'app al nuovo flusso utente.
Eseguire l'app di esempio, quindi selezionare il menu con i puntini di sospensione (...) per visualizzare altre opzioni.
Selezionare lo scenario da testare, ad esempio Posta elettronica e password, Posta elettronica e registrazione password con attributi utente o Reimpostazione della password, quindi seguire le istruzioni. Per testare Reimpostazione della password, è necessario prima iscrivere un utente e abilitare il passcode monouso tramite posta elettronica per tutti gli utenti del tenant.
Testare la chiamata a un flusso API protetto
Per chiamare un'API Web protetta da un'app per dispositivi mobili iOS di esempio, usare la procedura descritta in Chiamare un'API Web protetta da un'app per dispositivi mobili iOS di esempio con l’autenticazione nativa.