Condividi tramite


Esercitazione: Configurare un'app Web ASP.NET Core che autentica gli utenti

Si applica a: Cerchio verde con un simbolo di spunta bianco che indica che il contenuto seguente si applica ai tenant della forza lavoro. I tenant della forza lavoro Cerchio verde con un simbolo di spunta bianco che indica che il contenuto seguente si applica ai tenant esterni. I tenant esterni (Altre informazioni)

In questa esercitazione viene creata un'app Web ASP.NET Core e configurata per l'autenticazione. Questa è la parte 1 di una serie che illustra come creare un'applicazione Web ASP.NET Core e prepararla per l'autenticazione usando l'interfaccia di amministrazione di Microsoft Entra. Questa applicazione può essere usata per i dipendenti in un tenant della forza lavoro o per i clienti che usano un tenant esterno

In questa esercitazione, farai:

  • Creare un'app Web ASP.NET Core
  • Creare un certificato autofirmato
  • Configurare le impostazioni per l'applicazione
  • Definire le impostazioni e gli URL della piattaforma

Prerequisiti

  • Un account Azure con una sottoscrizione attiva. Crea un account gratuitamente. Questo account deve disporre delle autorizzazioni per gestire le applicazioni. Usare uno dei ruoli seguenti necessari per registrare l'applicazione:
    • Amministratore dell'applicazione
    • Sviluppatore di applicazioni
  • Anche se è possibile usare qualsiasi ambiente di sviluppo integrato (IDE) che supporta applicazioni ASP.NET Core, questa esercitazione usa Visual Studio Code. Puoi scaricarlo qui .
  • Requisito minimo di .NET 8.0 SDK.
  • Un certificato per sviluppatori ASP.NET Core. Installare un certificato usando dotnet dev-certs
  • Registrare una nuova app nell'interfaccia di amministrazione di Microsoft Entra, configurata solo per gli account in questa directory organizzativa. Per altri dettagli, vedere Registrare un'applicazione . Registrare i valori seguenti dalla pagina Panoramica dell'applicazione per usarli in un secondo momento:
    • ID applicazione (cliente)
    • ID della directory (cliente)
  • Aggiungere gli URI di reindirizzamento seguenti usando la configurazione della piattaforma Web . Per altri dettagli, vedere Come aggiungere un URI di reindirizzamento nell'applicazione .
    • URI di reindirizzamento: https://localhost:5001/signin-oidc
    • URL di disconnessione del canale frontale : https://localhost:5001/signout-oidc
  • Per scopi di sviluppo, creare un certificato autofirmato. Fare riferimento a , aggiungere credenziali per caricare il certificato e registrare l'impronta digitale del certificato . Non usare un certificato autofirmato per le app di produzione. Usare un'autorità di certificazione attendibile.

Creare un progetto ASP.NET Core

In questa sezione viene creato un progetto ASP.NET Core in Visual Studio Code.

  1. Aprire Visual Studio Code e selezionare File > Apri cartella.... Passare a e selezionare il percorso in cui creare il progetto.

  2. Aprire un nuovo terminale selezionando Terminale > Nuovo terminale.

  3. Immettere il comando seguente per creare un progetto MVC (Model View Controller) ASP.NET Core.

    dotnet new mvc -n identity-client-web-app
    

Installare i pacchetti Identity

Questa applicazione usa Microsoft.Identity.Web e deve essere installato il pacchetto NuGet correlato.

Usare il frammento di codice seguente per passare alla nuova cartella di identity-client-web-app e installare il pacchetto NuGet pertinente:

cd identity-client-web-app
dotnet add package Microsoft.Identity.Web.UI

Configurare l'applicazione per l'autenticazione

Le applicazioni Web che consentono l'accesso degli utenti tramite Microsoft Identity Platform vengono configurate tramite un file di configurazione appsettings.json. In ASP.NET Core deve specificare i valori seguenti:

Impostazione Description
Instance Endpoint di autenticazione per eseguire l'app nei cloud nazionali. Usare uno dei seguenti elementi:
- https://login.microsoftonline.com/ (cloud pubblico di Azure)
- https://login.microsoftonline.us/ (Azure US Government)
- https://login.microsoftonline.de/ (Microsoft Entra Germania)
- https://login.partner.microsoftonline.cn/ (Microsoft Entra China gestito da 21Vianet)
TenantId Identificatore del tenant in cui è registrata l'app. Consigliato: usare l'ID tenant dalla registrazione dell'app. Alternative:
- organizations (qualsiasi account aziendale o scolastico)
- common (account aziendale/dell'istituto di istruzione o personale Microsoft)
- consumers (solo account Microsoft personali).
ClientId Identificatore dell'applicazione (client) ottenuta dalla registrazione dell'applicazione.
CertificateThumbprint Impronta digitale del certificato caricato nell'interfaccia di amministrazione di Microsoft Entra (vedi aggiungere credenziali).
CallbackPath Percorso usato per reindirizzare le risposte; impostato su /signin-oidc per questa esercitazione.
DownstreamApi Identificatore che definisce un endpoint per l'accesso a Microsoft Graph. Combinare l'URI dell'applicazione con l'ambito richiesto , ad esempio user.read.

Aggiornare il file di configurazione

Nell'IDE aprire appsettings.json e sostituire il contenuto del file con il frammento di codice seguente. Sostituire il testo tra virgolette con i valori registrati in precedenza.

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "TenantId": "Enter_the_Tenant_Id_Here",
    "ClientId": "Enter_the_Application_Id_Here",
    "ClientCertificates": [
      {
        "SourceType": "StoreWithThumbprint",
        "CertificateStorePath": "CurrentUser/My",
        "CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
      }   
    ],
    "CallbackPath": "/signin-oidc"
  },
    "DownstreamApi": {
      "BaseUrl": "https://graph.microsoft.com/v1.0/",
      "RelativePath": "me",
      "Scopes": [ 
        "user.read" 
      ]
    },
    "Logging": {
      "LogLevel": {
        "Default": "Information",
        "Microsoft.AspNetCore": "Warning"
      }
    },
    "AllowedHosts": "*"
  }

Aggiornare l'URI di reindirizzamento

Dai prerequisiti , l'URI di reindirizzamento è impostato su https://localhost:5001/signin-oidc. Questa operazione deve essere aggiornata nelle impostazioni di avvio dell'applicazione. È possibile usare l'URI di reindirizzamento creato durante la configurazione dell'applicazione locale o qualsiasi altro numero di porta disponibile, purché corrisponda all'URI di reindirizzamento nella registrazione dell'applicazione.

  1. Nella cartella Proprietà aprire il file di launchSettings.json.

  2. Trovare l'oggetto https e aggiornare il valore di applicationURI con il numero di porta corretto, in questo caso, 5001. La riga dovrebbe essere simile al frammento di codice seguente:

    "applicationUrl": "https://localhost:5001;http://localhost:{port}",
    

Passaggio successivo