Esercitazione: Preparare un'applicazione per l'autenticazione
Nell'esercitazione precedente è stata registrata un'applicazione Web nell'interfaccia di amministrazione di Microsoft Entra. Questa esercitazione illustra come creare un'app Web ASP.NET Core usando un IDE. Si creerà e caricherà anche un certificato autofirmato nell'interfaccia di amministrazione di Microsoft Entra per proteggere l'applicazione. Infine, si configurerà l'applicazione per l'autenticazione.
Contenuto dell'esercitazione:
- 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
- Completamento dei prerequisiti e dei passaggi descritti in Esercitazione: Registrare un'applicazione con Microsoft Identity Platform.
- È possibile scaricare un IDE usato in questa esercitazione qui.
- Visual Studio 2022
- Visual Studio Code
- Visual Studio 2022 per Mac
- Requisito minimo di .NET 6.0 SDK.
Creare un progetto ASP.NET Core
Usare le schede seguenti per creare un progetto ASP.NET Core all'interno di un IDE.
- Aprire Visual Studio e quindi selezionare Crea un nuovo progetto.
- Cercare e scegliere il modello ASP.NET Core Web App e quindi selezionare Avanti.
- Immettere un nome per il progetto, ad esempio NewWebAppLocal.
- Scegliere un percorso per il progetto o accettare l'opzione predefinita e quindi selezionare Avanti.
- Accettare l'impostazione predefinita per Framework, Tipo di autenticazione e Configura per HTTPS. Il tipo di autenticazione può essere impostato su Nessuno perché questa esercitazione illustra il processo.
- Seleziona Crea.
Creare e caricare un certificato autofirmato
L'uso dei certificati è un modo consigliato per proteggere la comunicazione tra client e server. Ai fini di questa esercitazione, nella directory del progetto verrà creato un certificato autofirmato. Altre informazioni sui certificati autofirmato sono disponibili qui.
Selezionare Il prompt dei comandi per gli sviluppatori della riga di comando > strumenti>.
Immettere il comando seguente per creare un nuovo certificato autofirmato:
dotnet dev-certs https -ep ./certificate.crt --trust
Caricare il certificato nell'interfaccia di amministrazione di Microsoft Entra
Per rendere il certificato disponibile per l'applicazione, è necessario caricarlo nel tenant.
A partire dalla pagina Panoramica dell'app creata in precedenza, in Gestisci selezionare Certificati e segreti e selezionare la scheda Certificati (0).
Selezionare Carica certificato.
Selezionare l'icona della cartella , quindi cercare e selezionare il certificato creato in precedenza.
Immettere una descrizione per il certificato e selezionare Aggiungi.
Registrare il valore identificazione personale , che verrà usato nel passaggio successivo.
Configurare l'applicazione per l'autenticazione e le informazioni di riferimento sulle API
I valori registrati in precedenza verranno usati per configurare l'applicazione per l'autenticazione. Il file di configurazione, appsettings.json, viene usato per archiviare le impostazioni dell'applicazione usate durante il runtime. Poiché l'applicazione chiamerà anche in un'API Web, deve contenere anche un riferimento.
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 obtained from the Microsoft Entra admin center", "ClientId": "Enter the client ID obtained from the Microsoft Entra admin center", "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": "*" }
Instance
- Endpoint di autenticazione. Verificare i diversi endpoint disponibili nei cloud nazionali.TenantId
- Identificatore del tenant in cui è registrata l'applicazione. Sostituire il testo tra virgolette con il valore ID directory (tenant) registrato in precedenza dalla pagina di panoramica dell'applicazione registrata.ClientId
- Identificatore dell'applicazione, detto anche client. Sostituire il testo tra virgolette con il valore ID applicazione (client) registrato in precedenza dalla pagina di panoramica dell'applicazione registrata.ClientCertificates
- Viene usato un certificato autofirmato per l'autenticazione nell'applicazione. Sostituire il testo diCertificateThumbprint
con l'identificazione personale del certificato registrato in precedenza.CallbackPath
- Identificatore che consente al server di reindirizzare una risposta all'applicazione appropriata.DownstreamApi
- Identificatore che definisce un endpoint per l'accesso a Microsoft Graph. L'URI dell'applicazione viene combinato con l'ambito specificato. Per definire la configurazione per un'applicazione di proprietà dell'organizzazione, il valore dell'attributoScopes
è leggermente diverso.
Salvare le modifiche apportate al file .
Nella cartella Proprietà aprire il file launch Impostazioni.json.
Trovare e registrare il valore all'interno dell'avvio
https
Impostazioni.json, ad esempiohttps://localhost:{port}
.applicationURI
Questo URL verrà usato quando si definisce l'URI di reindirizzamento. Non usare ilhttp
valore .
Aggiungere un URI di reindirizzamento della piattaforma
Nell'interfaccia di amministrazione di Microsoft Entra, in Gestisci selezionare Registrazioni app e quindi selezionare l'applicazione creata in precedenza.
Nel menu a sinistra, in Gestisci, selezionare Autenticazione.
In Configurazioni della piattaforma selezionare Aggiungi una piattaforma e quindi Selezionare Web.
In URI di reindirizzamento immettere
applicationURL
eCallbackPath
/signin-oidc
, sotto forma dihttps://localhost:{port}/signin-oidc
.In URL di disconnessione del canale anteriore immettere l'URL seguente per la disconnessione,
https://localhost:{port}/signout-oidc
.Seleziona Configura.