Guida introduttiva: Effettuare l'accesso degli utenti e chiamare l'API Microsoft Graph da un'app Web ASP.NET Core
Articolo
In questa guida introduttiva si usa un'app Web di esempio ASP.NET Core per consentire agli utenti di accedere usando il flusso del codice di autorizzazione e chiamare l'API Microsoft Graph. L'esempio usa Microsoft Authentication Library per .NET e microsoft Identity Web per gestire l'autenticazione.
Registrare l'applicazione e gli identificatori di record
Per completare la registrazione, specificare un nome dell'applicazione e specificare i tipi di account supportati. Dopo la registrazione, il riquadro Panoramica dell'applicazione visualizza gli identificatori necessari nel codice sorgente dell'applicazione.
Accedi all'interfaccia di amministrazione di Microsoft Entra.
Se si ha accesso a più tenant, usare l'icona impostazioni nel menu in alto per passare al tenant in cui si vuole registrare l'applicazione dal menu Directory + sottoscrizioni.
Passare a Identity>Applications>App registrations, selezionare Nuova registrazione.
Immettere un nome per l'applicazione, ad esempio identity-client-web-app.
Per Tipi di account supportati, selezionare Account in questa directory organizzativa solo. Per informazioni sui diversi tipi di account, selezionare l'opzione Aiutami a scegliere.
Selezionare Registra.
Al termine della registrazione, viene visualizzato riquadro Panoramica dell'applicazione. Registrare l'ID Directory (tenant) e l'ID applicazione (client) da usare nel codice sorgente dell'applicazione.
Scaricare il file .zip. Estrarlo in un percorso di file in cui la lunghezza del nome è inferiore a 260 caratteri.
Creare e caricare un certificato autofirmato
Per proteggere l'applicazione, aggiungere un certificato all'applicazione. Questa sezione illustra come creare un certificato autofirmato e caricarlo nella registrazione dell'applicazione nell'interfaccia di amministrazione di Microsoft Entra.
Nota
I certificati autofirmato devono essere usati solo in fase di sviluppo. Nell'ambiente di produzione è consigliabile usare un certificato di un'autorità di certificazione attendibile.
Usando il terminale, usare i comandi seguenti per passare alla creazione di un certificato autofirmato nella directory del progetto.
Console
cd ms-identity-docs-code-dotnet\web-app-aspnet\
dotnet dev-certs https -ep ./certificate.crt --trust
Tornare all'interfaccia di amministrazione di Microsoft Entra e in Gestisciselezionare Certificati & segreti>Carica certificato.
Selezionare la scheda Certificati (0) e quindi selezionare Carica certificato.
Viene visualizzato un riquadro Carica certificato. Usare l'icona per passare al file di certificato creato nel passaggio precedente e selezionare Apri.
Immettere una descrizione per il certificato, ad esempio Certificato per aspnet-web-appe selezionare Aggiungi.
Registrare il valore impronta digitale da usare nel passaggio successivo.
Configurare il progetto
Nell'IDE aprire la cartella del progetto ms-identity-docs-code-dotnet\web-app-aspnet, contenente l'esempio.
Aprire appsettings.json e sostituire il contenuto del file con il frammento di codice seguente;
JSON
{
"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": "*"
}
TenantId: identificatore del tenant in cui è registrata l'applicazione. Sostituire il testo tra virgolette con il Directory (tenant) ID 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 Application (client) ID registrato in precedenza dalla pagina di panoramica dell'applicazione registrata.
ClientCertificates: viene usato un certificato autofirmato per l'autenticazione nell'applicazione. Sostituire il testo del CertificateThumbprint con l'impronta digitale del certificato registrato in precedenza.
Eseguire l'applicazione ed eseguire l'accesso
Nella directory del progetto usare il terminale per immettere il comando seguente;
Console
dotnet run
Copiare l'URL https visualizzato nel terminale, ad esempio https://localhost:5001e incollarlo in un browser. È consigliabile usare una sessione privata o in incognito del browser.
Seguire i passaggi e immettere i dettagli necessari per accedere con l'account Microsoft. Viene richiesto di fornire un indirizzo di posta elettronica in modo che sia possibile inviare un passcode una volta all'utente. Immettere il codice quando richiesto.
L'applicazione richiede l'autorizzazione per mantenere l'accesso ai dati a cui è stato concesso l'accesso e per accedere e leggere il profilo. Selezionare Accetta.
Viene visualizzata la schermata seguente, che indica che è stato eseguito l'accesso all'applicazione e che è stato eseguito l'accesso ai dettagli del profilo dall'API Microsoft Graph.
Disconnettersi dall'applicazione
Trova il collegamento Disconnetti nell'angolo superiore destro della pagina e selezionalo.
Viene richiesto di selezionare un account da cui disconnettersi. Selezionare l'account usato per accedere.
Viene visualizzato un messaggio che indica che si è disconnesso. È ora possibile chiudere la finestra del browser.
Questo percorso di formazione include esercizi pratici che illustrano come eseguire le attività comuni, ad esempio visualizzare i messaggi di posta elettronica di un utente, accedere agli eventi del calendario e scaricare e caricare file in un'app ASP.NET Core utilizzando le API Microsoft Graph.
Illustrare le funzionalità di Microsoft Entra ID per modernizzare le soluzioni di identità, implementare soluzioni ibride e implementare la governance delle identità.
Informazioni su argomenti relativi all'autenticazione con l'ID Microsoft Entra della piattaforma Microsoft identity per le app Web e le API in ASP.NET Core.
In questa guida di avvio rapido verrà scaricato e modificato un esempio di codice che illustra come proteggere un'API Web ASP.NET Core usando Microsoft Identity Platform per l'autorizzazione.
Informazioni su come registrare un'applicazione Web con Microsoft Identity Platform creando un'applicazione nell'interfaccia di amministrazione di Microsoft Entra.
Questo argomento di avvio rapido illustra come chiamare un'API Web ASP.NET protetta da Microsoft Identity Platform da un'applicazione Windows Desktop (WPF).
Informazioni su come accedere agli utenti e accedere alle API Web nelle app Web basate su server con guide introduttive, esercitazioni e guide pratiche approfondite.
Usare Microsoft Entra con OAuth 2.0 e OpenID Connect (OIDC) per proteggere le app e le API Web compilate. Informazioni su come accedere agli utenti e gestire l'accesso tramite guide introduttive, esercitazioni, esempi di codice e documentazione di riferimento sulle API.