Consentire l'accesso agli utenti nell'app di esempio Android (Kotlin) utilizzando l'autenticazione nativa
Si applica a: cerchio bianco inquilini dipendenti
inquilini esterni (scopri di più)
In questa guida introduttiva imparerai come avviare un'applicazione di esempio Android che illustra scenari di iscrizione, accesso, disconnessione e reimpostazione della password utilizzando l'autenticazione nativa di Microsoft Entra .
Prerequisiti
- Android Studio.
- Un tenant esterno. Se non l'hai già, iscriviti per una prova gratuita.
Registrare un'applicazione
Per consentire all'applicazione di eseguire l'accesso degli utenti con Microsoft Entra, è necessario che Microsoft Entra External ID 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.
I passaggi seguenti illustrano come registrare l'app nell'interfaccia di amministrazione di Microsoft Entra:
Accedere all'interfaccia di amministrazione di Microsoft Entra almeno un Application Developer.
Se si ha accesso a più tenant, usare l'icona Impostazioni
nel menu in alto per passare al tenant esterno dal menu Directory + sottoscrizioni.
Vai a Identity>Applications>Registrazioni delle app.
Selezionare + Nuova registrazione.
Nella pagina Registrare un'applicazione visualizzata;
- Immettere un'applicazione significativa Nome visualizzata 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 dopo la registrazione riuscita. Annotare l'ID applicazione (client) da utilizzare nel codice sorgente della tua applicazione.
Abilitare i flussi di autenticazione client pubblici e nativi
Per specificare che l'app è un client pubblico e può usare l'autenticazione nativa, abilitare i flussi di autenticazione pubblici e nativi del client:
- Nella pagina di registrazione delle app, seleziona la registrazione dell'app per la quale si desidera abilitare i flussi di autenticazione client pubblici e nativi.
- In Gestisci, selezionare Autenticazione.
- In Impostazioni avanzate, consentire i flussi dei client pubblici:
- Per abilitare i seguenti flussi mobili e desktop selezionare Sì.
- Per Abilitare l'autenticazione nativa, selezionare Sì.
- Selezionare il pulsante Salva.
Concedere il consenso amministrativo
Dopo aver registrato l'applicazione, viene assegnata l'autorizzazione User.Read. Tuttavia, poiché il tenant è un tenant esterno, gli utenti del cliente stessi non possono fornire il consenso a questa autorizzazione. L'amministratore del tenant deve fornire il consenso a questa autorizzazione per conto di tutti gli utenti nel tenant:
Nella pagina registrazioni dell'app selezionare l'applicazione creata( ad esempio ciam-client-app) per aprire la relativa pagina Panoramica.
In Gestisci, seleziona autorizzazioni API.
- Seleziona Concedi consenso amministratore per <il nome del tenant>, quindi seleziona Sì.
- Selezionare Aggiorna, quindi verificare che Concesso per <il nome del tenant> venga visualizzato sotto Stato per l'autorizzazione.
Creare un flusso utente
Seguire questa procedura per creare un flusso utente.
Accedere all'interfaccia di amministrazione di Microsoft Entra almeno un Application Developer.
Se hai accesso a più tenant, assicurati di usare la directory che contiene il tenant esterno:
- Selezionare l'icona directory e sottoscrizioni nella barra degli strumenti.
- Nelle impostazioni del portale di | Directory e sottoscrizioni pagina, individuare la directory del tenant esterno nell'elenco nome directory e quindi selezionare Cambia.
Nel menu laterale selezionare Identity.
Selezionare Identità esterne>Flussi utente.
Selezionare + Nuovo flusso utente.
Nella pagina Crea:
Immettere un Nome per il flusso di utenti, ad esempio SignInSignUpSample.
Nell'elenco provider di identità, selezionare Account di posta elettronica. Questo provider di identità consente agli utenti di accedere o iscriversi usando il proprio indirizzo di posta elettronica.
In Email account, puoi selezionare una delle due opzioni. Per questa esercitazione, selezionare passcode monouso tramite posta elettronica.
- Messaggio di posta elettronica con password: consente ai nuovi utenti di registrarsi e accedere usando un indirizzo email come nome utente e una password come prima credenziale di autenticazione.
- Codice monouso tramite email: Consente ai nuovi utenti di iscriversi e accedere utilizzando un indirizzo email come nome di accesso e il codice monouso ricevuto via email come prima credenziale. Per rendere disponibile questa opzione a livello di flusso utente, assicurarsi di abilitare il passcode monouso di posta elettronica (OTP) a livello di tenant (selezionare Tutti i provider di identitàe quindi per passcode monouso selezionare configurato, selezionare l'opzione sì e quindi selezionare Salva).
In Attributi utenteè possibile scegliere gli attributi da raccogliere dall'utente al momento dell'iscrizione. Per questa guida, selezionare paese/area geografica e città.
Selezionare Crea. Il nuovo flusso utente appare nell'elenco Flussi utente. Se necessario, aggiornare la pagina.
Associare l'app al flusso utente
Per consentire agli utenti del cliente di visualizzare l'esperienza di iscrizione o di accesso quando usano l'app, è necessario associare l'app a un flusso utente. Anche se molte applicazioni possono essere associate al flusso utente, una singola applicazione può essere associata solo a un flusso utente.
Nel menu laterale selezionare Identity.
Selezionare Identità Esterne, quindi Flussi Utente.
Nella pagina Flussi utente selezionare il nome del flusso utente creato in precedenza, ad esempio SignInSignUpSample.
In Usaselezionare Applicazioni.
Selezionare 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.
Scegliere Selezionare.
Dopo aver associato l'app a un flusso utente, è possibile testare il flusso utente simulando l'esperienza di iscrizione o di accesso di un utente con l'applicazione dall'interfaccia di amministrazione di Microsoft Entra. A tale scopo, usare i passaggi descritti in Testare il flusso utente di iscrizione e accesso.
Clonare un'applicazione per dispositivi mobili Android di esempio
Aprire Terminale e passare a una directory in cui si vuole mantenere 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.
Apri il file in app/src/main/res/raw/native_auth_sample_app_config.json.
Trova il segnaposto:
-
Enter_the_Application_Id_Here
e sostituiscilo con l'ID dell'applicazione (client) dell'app che hai registrato in precedenza. -
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 non si conosce il sottodominio del tenant, scopri come 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 questa procedura:
Nella barra degli strumenti selezionare l'app dal menu Delle configurazioni di esecuzione.
Nel menu del dispositivo di destinazione selezionare il dispositivo in cui si vuole eseguire l'app.
Se non sono configurati dispositivi, è necessario creare un dispositivo virtuale Android per usare l'emulatore Android o connettere un dispositivo Android fisico.
Selezionare il pulsante Esegui. L'app apre la schermata Posta elettronica & OTP.
Immettere un indirizzo di posta elettronica valido e quindi selezionare il pulsante Registrati. L'app apre la schermata del codice di invio e si riceve un codice OTP nell'indirizzo di posta elettronica.
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 posta in arrivo del messaggio di posta elettronica, è possibile inviarlo nuovamente dopo un po' selezionando Invia nuovamente passcode.
Per disconnettersi, selezionare il pulsante Disconnetti.
Altri scenari supportati da questo esempio
Questa app di esempio supporta anche i flussi di autenticazione seguenti:
- posta elettronica e password copre i flussi di accesso o iscrizione con un messaggio di posta elettronica con password.
- l'iscrizione tramite posta elettronica e password con attributi utente copre l'iscrizione con posta elettronica e password e l'invio degli attributi utente.
- La reimpostazione della password copre la reimpostazione self-service delle password.
- Accesso a un'API Protetta copre la chiamata a un'API protetta dopo che l'utente ha eseguito correttamente la registrazione o l'accesso e acquisendo un token di accesso.
- il fallback al Web browser illustra l'uso dell'autenticazione basata su browser come meccanismo di fallback quando l'utente non può completare l'autenticazione tramite l'autenticazione nativa per qualsiasi motivo.
Testare la posta elettronica con il flusso delle password
In questa sezione, si testa l'autenticazione tramite email e password, con le sue varianti, ad esempio la registrazione tramite email e password con attributi utente e la reimpostazione autonoma della password.
Usare la procedura descritta in creare un flusso utente per creare un nuovo flusso utente, ma questa volta selezionare Posta elettronica con password come metodo di autenticazione. È necessario configurare paese/area geografica e City come attributi utente. In alternativa, è possibile modificare il flusso utente esistente per usare Email con password (Selezionare Identità esterne>Flussi utente>SignInSignUpSample>Provider di identità>Email con password>Salva).
Usare i passaggi descritti 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 o l'iscrizione tramite posta elettronica e password con attributi utente o reimpostazione della password, quindi seguire le istruzioni. Per testare la reimpostazione della password, è necessario prima registrare un utente e abilitare il passcode monouso tramite email per tutti gli utenti del tuo tenant.
Testare una chiamata a un flusso API protetto
Usare la procedura descritta in Chiamare un'API Web protetta in un'app per dispositivi mobili Android di esempio usando l'autenticazione nativa per chiamare un'API Web protetta da un'app per dispositivi mobili Android di esempio.