Scelta di una versione di MSAL.NET

Importante

A partire dal 1° maggio 2025, Azure AD B2C non è più disponibile per l'acquisto per i nuovi clienti. Altre informazioni sono disponibili nelle domande frequenti.

A seconda del tipo di applicazione che si sta creando e della relativa piattaforma sottostante, è possibile scegliere di usare MSAL.NET, Microsoft Identity Web o entrambi.

Microsoft Identity Web è un set di librerie di ASP.NET Core che semplifica l'aggiunta del supporto di autenticazione e autorizzazione alle app Web e alle API Web che si integrano con il Microsoft Identity Platform. Fornisce un livello di praticità API a superficie singola che collega ASP.NET Core, il middleware di autenticazione e l'Libreria di Autenticazione Microsoft (MSAL) per .NET.

Seguire l'albero delle decisioni seguente per determinare se lo scenario richiede MSAL.NET, Microsoft Identity Web o entrambi.

Immagine dell'albero delle decisioni quando si lavora con .NET librerie di autenticazione

Quando si usa MSAL.NET

Si sta creando un'app desktop o per dispositivi mobili. Usare MSAL.NET direttamente e iniziare ad acquisire i token per l'applicazione client pubblica. Per ulteriori informazioni vedere:

Usare Microsoft Identity Web

Si sta creando un'applicazione client riservata (app Web, API Web, app daemon/servizio) in esecuzione in ASP.NET Core, ASP.NET OWIN o .NET framework/.NET Core. Vedere cosa Microsoft Identity Web deve offrire:

  • Accedere agli utenti tramite app Web in Microsoft Entra ID, Azure AD B2C e applicazioni Microsoft Entra per ID esterno
    • Supporto Microsoft account personali
    • Supportare gli utenti guest
    • Consenso incrementale e accesso condizionale nelle app Web
    • Handle SameSite
    • Si integra con l'autenticazione dei servizi app
    • Supporta PKCE per applicazioni client riservate
    • Porta serializzatori di cache dei token con prestazioni elevate, inclusi quelli distribuiti
  • Proteggere l'API Web (con Microsoft Entra ID, Azure AD B2C o Microsoft Entra per ID esterno)
    • Convalida l'autorità di certificazione (incluse le app multi-tenant, qualsiasi cloud)
    • supporta i certificati di decrittografia dei token nelle API Web
    • Convalida l'ambito e il ruolo dell'app nelle API Web
    • Genera WWW-authenticate intestazioni nelle API (CA, CAE)
    • Proteggere i servizi e le funzioni di Azure gRPC
  • App Web/API che chiama le API downstream (incluso il grafico ad eccezione di B2C)
  • Supporta più schemi di autenticazione in ASP.NET Core
  • Supporta il protocollo Proof of Possession
  • Resiliente (supporta l'acquisizione di token a livello di area e l'hint di routing per il sistema di backup del token)

Si sta creando una nuova applicazione

Usare i modelli Project e lo msidentity-app-sync strumento . Sono disponibili modelli di app Web per MVC Web, Razor, Server Blazor, Blazorwasm ospitato e non ospitato. Tutti per Microsoft Entra ID o Azure AD B2C.

Immagine che mostra ASP.NET Core modelli di progetti per la compilazione di app Web

Modelli di progetto di app Web.

Sono disponibili modelli di API Web per gRPC e Funzioni di Azure.

Modelli di progetto API Web.

Ecco informazioni su come eseguire msidentity-app-sync-tool, uno strumento da riga di comando che crea applicazioni Microsoft Identity Platform in un tenant (Microsoft Entra ID o Azure AD B2C) e aggiorna il codice di configurazione delle applicazioni ASP.NET Core. Lo strumento può essere usato anche per aggiornare il codice da un'applicazione Microsoft Entra esistente o Azure applicazione AD B2C.

È disponibile in NuGet.

Si aggiunge l'autenticazione a un'app esistente o si esegue la migrazione da ADAL

Basta prendere il codice necessario da Microsoft Identity Web per aggiornare l'app. Ecco un esempio:

immagine che mostra gli aggiornamenti del codice durante la compilazione di un'app Web che chiama un'API Web

immagine che mostra gli aggiornamenti del codice durante la compilazione di un'app Web o un'API B2C

immagine che mostra gli aggiornamenti del codice per un'app Web B2C che consente di accedere agli utenti e a un'API Web protetta

immagine che mostra gli aggiornamenti del codice in un'app Web o in un'API Web che chiama un'API downstream

Quando si usa il modello ibrido (MSAL.NET e Microsoft Identity Web)

Si sta creando un SDK per applicazioni client riservate e si vuole usare MSAL.NET API di basso livello. In MSAL.NET, tuttavia, una cache dei token in memoria viene fornita per impostazione predefinita, nel caso di app Web o API Web, la memorizzazione nella cache deve essere gestita in modo diverso rispetto alle applicazioni client pubbliche (app desktop o per dispositivi mobili) perché è necessario partizionare correttamente. È consigliabile usare un serializzatore della cache dei token, che può essere una cache distribuita, ad esempio Redis, Cosmos o SQL Server, distribuita nella cache di memoria, o una cache di memoria correttamente partizionata.

L'uso dei serializzatori di cache dei token consente di partizionare le cache dei token a seconda della chiave della cache usata perché la cache viene scambiata tra l'archiviazione e la memoria di MSAL. Questa chiave della cache viene calcolata da MSAL.NET come funzione del flusso usato

Immagine che mostra le cache dei token con e senza serializzatori personalizzati

Perché è necessario Microsoft. Identity.Web.TokenCache?

Microsoft. Identity.Web.TokenCache fornisce automaticamente la serializzazione della cache dei token. Per informazioni dettagliate, vedere Serializzazione della cache dei token .

Esempi di come usare le cache dei token per le app Web e le API Web sono disponibili nell'esercitazione ASP.NET Core'app Web nella cache dei token della fase 2-2. Per le implementazioni, vedere la cartella TokenCacheProviders nella Microsoft. Repository Identity.Web.

Microsoft Identity Web consente anche il caricamento dei certificati.