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

Registrare un'applicazione

Per abilitare l'applicazione all'accesso utente con Microsoft Entra, è necessario che Microsoft Entra per ID esterno 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 spiega come registrare l'app nell'Interfaccia di amministrazione di Microsoft Entra:

  1. Accedere all’Interfaccia di amministrazione di Microsoft Entra almeno come sviluppatore di applicazioni.

  2. 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.

  3. Passare a Identità>Applicazioni>Registrazioni app.

  4. Seleziona + Nuova registrazione.

  5. Nella pagina Registra un'applicazione che viene visualizzata:

    1. Immettere un nome significativo per l’applicazione da mostrare agli utenti dell'app, ad esempio ciam-client-app.
    2. In Tipi di account supportati selezionare Account solo in questa directory organizzativa.
  6. Selezionare Registra.

  7. 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:

  1. Nella pagina Registrazioni app, selezionare la registrazione dell'app per cui si vuole abilitare i flussi del client pubblico e dell’autenticazione nativa.
  2. In Gestisci selezionare Autenticazione.
  3. In Impostazioni avanzate, consentire i flussi del client pubblico:
    1. Per Abilita i flussi per dispositivi mobili e desktop seguenti, selezionare .
    2. Per Abilita autenticazione nativa, selezionare .
  4. Selezionare il pulsante Salva.
  1. Nella pagina Registrazioni app, selezionare l'applicazione creata (ad esempio ciam-client-app) per aprire la relativa pagina Panoramica.

  2. In Gestisci selezionare Autorizzazioni API. Nell'elenco Autorizzazioni configurate all'applicazione è stata assegnata l'autorizzazione User.Read. Tuttavia, poiché il tenant è esterno, gli utenti consumer 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:

    1. Selezionare Concedi consenso amministratore per <nome del tenant>, quindi selezionare .
    2. Selezionare Aggiorna, quindi verificare che Concesso per <nome del tenant> sia visualizzato in Stato per entrambi gli ambiti.

Creare un flusso utente

Per creare un flusso utente, attenersi alla procedura riportata di seguito.

  1. Accedere all’Interfaccia di amministrazione di Microsoft Entra almeno come sviluppatore di applicazioni.

  2. Se si ha accesso a più tenant, assicurarsi di usare la directory che contiene il tenant esterno:

    1. Selezionare l'icona Directory e sottoscrizioni nella barra degli strumenti.
    2. Nella pagina Impostazioni del portale | Directory e sottoscrizioni, trovare la directory del tenant esterno nell'elenco Nome directory e quindi selezionare Cambia.
  3. Nel menu della barra laterale selezionare Identità.

  4. Selezionare Identità esterne>Flussi utente.

  5. Selezionare + Nuovo flusso utente.

  6. Nella pagina Crea:

    1. Immettere un nome per il flusso utente, ad esempio SignInSignUpSample.

    2. 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.

    3. 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 e infine selezionare Salva.
    4. 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à.

  7. Seleziona Crea. Il nuovo flusso utente viene visualizzato nell'elenco Flussi utente. Se necessario, aggiornare la pagina.

Associare l'applicazione 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. Sebbene sia possibile associare molte applicazioni al flusso utente, è possibile associare un solo flusso utente a una singola applicazione.

  1. Nel menu della barra laterale selezionare Identità.

  2. Selezionare Identità esterne, quindi Flussi utente.

  3. Nella pagina Flussi utente selezionare il nome del flusso utente creato in precedenza, ad esempio SignInSignUpSample.

  4. In Usa selezionare Applicazioni.

  5. Seleziona Aggiungi applicazione.

  6. Selezionare l'applicazione dall'elenco, ad esempio ciam-client-app o usare la casella di ricerca per trovare l'applicazione e selezionarla.

  7. Scegli Seleziona.

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 la procedura descritta in Testare il flusso utente di iscrizione e accesso.

Clonare un'applicazione per dispositivi mobili iOS di esempio

  1. Aprire Terminale e passare alla directory in cui si vuole conservare il codice.

  2. 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
    
  3. 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

  1. In Xcode aprire il progetto NativeAuthSampleApp.xcodeproj.

  2. Aprire il file NativeAuthSampleApp/Configuration.swift.

  3. 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.

Screenshot della richiesta dell'utente di immettere un messaggio di posta elettronica nell'app iOS.

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:

Screenshot della richiesta dell'utente di immettere un passcode monouso (OTP) nell'app iOS.

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:

  1. 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.

  2. Usare la procedura descritta in Associare l'applicazione al nuovo flusso utente per aggiungere un'app al nuovo flusso utente.

  3. Eseguire l'app di esempio, quindi selezionare il menu con i puntini di sospensione (...) per visualizzare altre opzioni.

  4. 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.

Passaggi successivi