Condividi tramite


Accesso degli utenti per un'app Web ASP.NET Core di esempio in un tenant esterno

Questa guida pratica usa un'applicazione Web ASP.NET Core di esempio per illustrare i concetti fondamentali dell'autenticazione moderna usando la Microsoft Authentication Library per .NET e Microsoft Identity Web per ASP.NET Core per gestire l'autenticazione.

In questo articolo si registrerà un'applicazione Web nell'interfaccia di amministrazione di Microsoft Entra e si creerà un flusso utente di accesso e disconnessione. Si assocerà l'applicazione Web al flusso utente e si scaricherà e aggiornerà un'applicazione Web ASP.NET Core di esempio usando i dettagli del tenant esterno specifico. L'applicazione Web verrà infine eseguita e testata.

Prerequisiti

Registrare l'app Web

Per consentire all'applicazione di accedere agli utenti con Microsoft Entra, l’ID esterno di Microsoft Entra deve “conoscere” 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:

  1. Accedere all'interfaccia di amministrazione di Microsoft Entra almeno come Sviluppatore di applicazioni.

  2. Se si ha accesso a più tenant, usare l'iconaImpostazioni 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 di applicazione significativo 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. Il riquadro Panoramica dell'applicazione viene visualizzato al termine della registrazione. Registrare l'ID applicazione (client) da usare nel codice sorgente dell'applicazione.

Definire la piattaforma e gli URL

Per specificare il tipo di app per la registrazione dell'app, seguire questa procedura:

  1. In Gestisci selezionare Autenticazione.
  2. Nella pagina Configurazioni della piattaforma selezionare Aggiungi una piattaforma, quindi selezionare l'opzione Web.
  3. Per gli URI di reindirizzamento immettere https://localhost:7274/signin-oidc.
  4. In URL di disconnessione front-channel immettere https://localhost:7274/signout-callback-oidc per la disconnessione.
  5. Selezionare Configura per salvare le modifiche.

Abilitare flussi impliciti e ibridi

L'applicazione compilata usa il flusso implicito, che deve essere abilitato.

  1. Nella sezione Concessione implicita e flussi ibridi selezionare l'opzione Token ID.
  2. Seleziona Salva.

Aggiungere un segreto client dell'app

Creare un segreto client per l'applicazione registrata. L'applicazione usa il segreto client per dimostrare la propria identità quando richiede i token.

  1. Nella pagina Registrazioni app selezionare l'applicazione creata, ad esempio ciam-client-app, per aprire la relativa pagina di Panoramica.
  2. In Gestisci, selezionare Certificati e segreti.
  3. Selezionare Nuovo segreto client.
  4. Nella casella Descrizione immettere una descrizione per il segreto client, ad esempio, segreto client dell'app ciam.
  5. In Scadenza selezionare una durata per la quale il segreto è valido, in base alle regole di sicurezza dell'organizzazione, quindi selezionare Aggiungi.
  6. Registrare il Valore del segreto. Questo valore verrà usato per la configurazione in un passaggio successivo. Il valore del segreto non verrà visualizzato di nuovo e non sarà recuperabile in alcun modo dopo l'uscita da Certificati e segreti. Assicurarsi di registrarlo.
  1. Nella pagina Registrazioni app selezionare l'applicazione creata, ad esempio ciam-client-app, per aprire la relativa pagina di Panoramica.

  2. In Gestisci selezionare Autorizzazioni API. Dall'elenco Autorizzazioni configurate è stata assegnata l'autorizzazione User.Read all'applicazione. 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:

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

Creare un flusso utente

Seguire questa procedura per creare un flusso utente che un cliente può usare per accedere o registrarsi a un'applicazione.

  1. Accedere all'interfaccia di amministrazione di Microsoft Entra almeno come Amministratore del flusso utente con ID esterno.

  2. Se si ha accesso a più tenant, usare l'iconaImpostazioni nel menu in alto per passare al tenant esterno dal menu Directory e sottoscrizioni.

  3. Passare a Identità>Identità esterne>Flussi utente.

  4. Selezionare + Nuovo flusso utente.

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

      Nota

      I provider di identità aggiuntivi verranno elencati qui solo dopo la configurazione della federazione corrispondente. Ad esempio, se si configura la federazione con Google o Facebook, sarà possibile selezionare tali provider di identità aggiuntivi qui.

    3. In Account di posta elettronica è possibile selezionare una delle due opzioni. Per questa esercitazione selezionare Indirizzo di posta elettronica con password.

      • Indirizzo di posta elettronica con password: consente ai nuovi utenti di registrarsi e accedere usando un indirizzo di posta elettronica come nome di accesso e una password come credenziale di primo fattore.
      • Passcode monouso tramite posta elettronica: consente ai nuovi utenti di registrarsi e accedere usando un indirizzo di posta elettronica come nome di accesso e un passcode monouso ricevuto tramite messaggio di posta elettronica come credenziale di primo fattore. Il passcode monouso tramite messaggio di posta elettronica deve essere abilitato a livello di tenant (Tutti i provider di identità>Passcode monouso tramite posta elettronica) affinché questa opzione sia disponibile a livello di flusso utente.
    4. In Attributi utente scegliere gli attributi da raccogliere dall'utente al momento della registrazione. Selezionando Mostra altro, è possibile scegliere attributi e attestazioni per Paese/Area geografica, Nome visualizzato e Codice postale. Seleziona OK. Agli utenti vengono richiesti gli attributi solo quando si registrano per la prima volta.

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

Per abilitare la reimpostazione della password self-service, seguire la procedura descritta nell'articolo Abilitare la reimpostazione della password self-service.

Associare l'applicazione Web al flusso utente

Anche se molte applicazioni possono essere associate al flusso utente, una singola applicazione può essere associata a un solo flusso utente. Un flusso utente consente di configurare l'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.

  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 quindi selezionarla.

  7. Scegli Seleziona.

Clonare o scaricare un'applicazione Web di esempio

Per ottenere l'applicazione di esempio, è possibile clonarla da GitHub o scaricarla come file ZIP.

  • Per clonare l'esempio, aprire un prompt dei comandi e passare alla posizione in cui si vuole creare il progetto e immettere il comando seguente:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-dotnet-tutorial.git
    
  • Scaricare il file ZIP. Estrarlo in un percorso di file in cui la lunghezza del nome è inferiore a 260 caratteri.

Configurazione dell'applicazione

  1. Passare alla cartella radice dell'esempio scaricato e alla directory contenente l'app ASP.NET Core di esempio :

    cd 1-Authentication\1-sign-in-aspnet-core-mvc
    
  2. Aprire il file appsettings.json.

  3. In Autorità trovare Enter_the_Tenant_Subdomain_Here e sostituirlo con il sottodominio del tenant. Ad esempio, se il dominio primario del tenant è caseyjensen@onmicrosoft.com, il valore da immettere è casyjensen.

  4. Trovare il valore Enter_the_Application_Id_Here e sostituirlo con l'ID applicazione (clientId) dell'app registrata nell'interfaccia di amministrazione di Microsoft Entra.

  5. Sostituire Enter_the_Client_Secret_Here con il valore del segreto client configurato in Aggiungere il segreto client dell'app.

Eseguire il codice di esempio

  1. Dalla shell o dalla riga di comando eseguire i comandi seguenti:

    dotnet run
    
  2. Aprire un Web browser e passare a https://localhost:7274.

  3. Accedere con un account registrato nel tenant esterno.

  4. Dopo l'accesso, il nome visualizzato viene mostrato accanto al pulsante Disconnetti, come illustrato nello screenshot seguente.

    Screenshot dell'accesso a un'app Web ASP.NET Core.

  5. Per disconnettersi dall'applicazione, selezionare il pulsante Disconnetti.

Vedi anche