Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Microsoft. Identity.Web è un set di librerie che semplifica l'aggiunta di autenticazione e autorizzazione alle applicazioni che si integrano con il Microsoft Identity Platform, incluse le Microsoft Entra ID. Supporta:
- .NET Aspire applicazioni distribuite
- ASP.NET Core applicazioni Web e API Web
- applicazioni OWIN in .NET Framework
- .NET applicazioni daemon e servizi in background
Sia che si creino app Web che consentono di accedere a utenti, API Web che convalidano i token o servizi in background che chiamano API protette, Microsoft. Identity.Web gestisce automaticamente la complessità dell'autenticazione.
Perché usare Microsoft Identity Web?
Microsoft. Identity.Web riduce il codice boilerplate e fornisce procedure consigliate predefinite per scenari di identità comuni. Le funzionalità principali includono:
- Autenticazione semplificata - Configurazione minima per l'accesso degli utenti e la convalida dei token
- chiamate API Downstream - Chiamare Microsoft Graph, Azure SDK o api protette con gestione automatica dei token
- Acquisizione di token- Acquisire token per conto degli utenti o dell'applicazione
- gestione della cache Token - Supporto della cache distribuita con Redis, SQL Server, Cosmos DB e PostgreSQL
- Più tipi di credenziali : supporto per certificati, identità gestite e autenticazione senza certificato
- Intestazioni di autorizzazione automatica : l'autenticazione viene gestita in modo trasparente quando si chiamano le API
Vedere Pacchetti NuGet per una panoramica di tutti i pacchetti disponibili e quando usarli.
Chiamare le API con l'autenticazione automatica
È possibile chiamare API protette senza gestire manualmente i token. Microsoft. Identity.Web supporta i modelli di integrazione seguenti:
-
Microsoft Graph - Usare
GraphServiceClientcon acquisizione automatica dei token -
Azure SDK - Usare implementazioni di
TokenCredentialintegrate con Microsoft. Identity.Web -
API personalizzate : usare
IDownstreamApioIAuthorizationHeaderProviderper chiamate API semplici - Identità dell'agente - chiamare le API per conto di identità gestite o principali del servizio con la gestione automatica delle credenziali
Le intestazioni di autenticazione vengono aggiunte automaticamente alle richieste e i token vengono acquisiti e memorizzati nella cache in modo trasparente. Per informazioni dettagliate, vedere Chiamata di API downstream, applicazioni Daemon e guida alle identità dell'agente.
Approcci di configurazione
È possibile configurare Microsoft. Identity.Web tramite file di impostazioni o a livello di codice. Entrambi gli approcci supportano tutti gli scenari di autenticazione.
Configurazione per file (scelta consigliata)
Configurare l'autenticazione in appsettings.json:
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"TenantId": "your-tenant-id",
"ClientId": "your-client-id"
}
}
Importante
Per le app daemon e le applicazioni console, assicurarsi che il appsettings.json file venga copiato nella directory di output. In Visual Studio, impostare la proprietà Copy to Output Directory su Copy if newer o Copy always, o aggiungere quanto segue al .csproj:
<ItemGroup>
<None Update="appsettings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
Configurazione in base al codice
In alternativa, configurare l'autenticazione direttamente nel codice di avvio dell'applicazione:
builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(options =>
{
options.Instance = "https://login.microsoftonline.com/";
options.TenantId = "your-tenant-id";
options.ClientId = "your-client-id";
});
Passaggi successivi
Scegliere lo scenario corrispondente all'applicazione:
- App Web - Accedere agli utenti - Aggiungere l'autenticazione all'applicazione Web ASP.NET Core
- Web API - Proteggi l'API - Proteggi la Web API ASP.NET Core con token portatore
- App demone - Chiamare le API - Costruire servizi in background che richiamano le API protette