Accesso degli utenti all'app per dispositivi mobili Android (Kotlin) di esempio tramite l'autenticazione nativa
Questa guida illustra come eseguire un'applicazione di esempio per Android che mostra scenari di iscrizione, accesso, disconnessione e reimpostazione della password tramite l'autenticazione nativa di Microsoft Entra.
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 il file di configurazione del codice di esempio di Android in modo da usare il proprio Microsoft Entra per ID esterno per i dettagli del tenant esterno.
- Eseguire e testare l'applicazione per dispositivi mobili Android nativa di esempio.
Prerequisiti
- Android Studio.
- Un tenant esterno. Se non se ne dispone già, iscriversi per ottenere una versione di prova gratuita.
Registrare un'applicazione
Per consentire all'applicazione di accedere agli utenti con Microsoft Entra, Microsoft Entra per ID esterno deve essere a conoscenza dell'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.
I passaggi seguenti illustrano come registrare l'app nell'interfaccia di amministrazione di Microsoft Entra:
Accedere a Interfaccia di amministrazione di Microsoft Entra almeno come Sviluppatore di applicazioni.
Se si ha accesso a più tenant, usare l'iconaImpostazioni 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;
- Immettere un Nome di 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.
Il riquadro Panoramica dell'applicazione viene visualizzato al termine della registrazione. 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 di Panoramica.
In Gestisci selezionare Autorizzazioni API. Nell'elenco Autorizzazioni configurate, all'applicazione è stata assegnata l'autorizzazione User.Read. Tuttavia, poiché si tratta di un tenant esterno, gli utenti consumer stessi non possono 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 a 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:
Immettere un Nome per il 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 e accedere usando un indirizzo e-mail come nome di accesso e una password come credenziale di primo fattore.
- Invia passcode monouso tramite e-mail: consente ai nuovi utenti di registrarsi e accedere usando un indirizzo di posta elettronica come nome di accesso e passcode monouso 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'app al flusso utente
Sebbene molte applicazioni possano essere associate al flusso utente, una singola applicazione può essere associata a un solo flusso utente. Un flusso utente consente la configurazione dell'esperienza utente per applicazioni specifiche. Ad esempio, è possibile configurare un flusso utente che richiede agli utenti di accedere 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 Android di esempio
Aprire Terminale e passare alla directory in cui si vuole conservare il codice.
Clonare l'applicazione da GitHub eseguendo il comando seguente:
git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-android-sample
Configurare l'applicazione per dispositivi mobili Android di esempio
In Android Studio, aprire il progetto clonato.
Open app/src/main/res/raw/native_auth_sample_app_config.json file.
Trovare il segnaposto:
Enter_the_Application_Id_Here
e sostituirlo con l'ID applicazione (client) dell’app registrata precedentemente.Enter_the_Tenant_Subdomain_Here
e sostituirlo con il sottodominio Directory (tenant). Ad esempio, se il dominio primario del tenant ècontoso.onmicrosoft.com
, usarecontoso
. Se il sottodominio del tenant non è disponibile, ottenere informazioni sul modo in cui leggere i dettagli del tenant.
L'app è stata configurata ed è pronta per l'esecuzione.
Eseguire e testare l'applicazione per dispositivi mobili Android di esempio
Per compilare ed eseguire l'app, seguire la procedura seguente:
Nella barra degli strumenti, selezionare l'applicazione dal menu delle configurazioni di esecuzione.
Nel menu del dispositivo di destinazione, selezionare il dispositivo in cui si vuole eseguire l'app.
Se non è stato configurato alcun dispositivo, è necessario creare un dispositivo virtuale Android per usare l'emulatore Android o connettere un dispositivo Android fisico.
Selezionare il pulsante Run (Esegui). L'app apre la schermata Posta elettronica e OTP.
Immettere un indirizzo di posta elettronica valido e selezionare il pulsante Iscriviti. L'app apre la schermata di invio del codice e si riceve un codice OTP nell'indirizzo e-mail.
Immettere il codice OTP ricevuto nella casella di posta elettronica e selezionare Avanti. Se l'iscrizione ha esito positivo, l'app esegue automaticamente l'accesso. Se non si riceve il codice OTP nella casella di posta elettronica, è possibile inviarlo nuovamente dopo un po' selezionando Invia nuovamente il passcode.
Per disconnettersi, selezionare il pulsante Disconnetti.
Altri scenari supportati da questo esempio
Questa app di esempio supporta inoltre i flussi di autenticazione 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 può completare l'autenticazione tramite l'autenticazione nativa per qualsiasi motivo.
Testare l’invio tramite e-mail con flusso di password
In questa sezione, si testa l'invio tramite e-mail con flusso di password e le relative varianti, ad esempio, la registrazione tramite invio di 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 aprire 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 Android di esempio, usare la procedura descritta in Chiamare un'API Web protetta da un'app per dispositivi mobili Android di esempio tramite autenticazione nativa.