Integrowanie Microsoft. Identity.Web z platformą ASP.NET Framework i standardem .NET

Microsoft.Identity.Web rozszerza uwierzytelnianie Microsoft Entra ID na aplikacje .NET Framework i .NET Standard. Ten artykuł ułatwia wybór odpowiedniego wzorca pakietu i integracji dla danego scenariusza.

Wybieranie scenariusza

Wybierz wzorzec integracji zgodny z typem aplikacji. Microsoft Entra oferuje różne pakiety dla aplikacji internetowych i usług w tle.

MSAL.NET z pakietami Microsoft.Identity.Web

W przypadku aplikacji konsolowych, usług demona i aplikacji platformy .NET Framework innych niż sieci Web

Użyj pakietów Microsoft.Identity.Web.TokenCache i Microsoft.Identity.Web.Certificate z MSAL.NET dla:

  • Serializacja pamięci podręcznej tokenów (SQL Server, Redis, Cosmos DB, PostgreSQL)
  • Ładowanie certyfikatów z usługi KeyVault, magazynu certyfikatów lub systemu plików
  • Aplikacje konsolowe i usługi demona
  • biblioteki .NET Standard 2.0

MSAL.NET z Microsoft. Identity.Web Guide


Integracja OWIN dla interfejsu API ASP.NET MVC/internetowego

W przypadku aplikacji ASP.NET MVC i Web API

Użyj pakietu Microsoft.Identity.Web.OWIN do pełnego uwierzytelniania internetowego za pomocą:

  • TokenAcquirerFactory na potrzeby automatycznego pozyskiwania tokenów
  • Rozszerzenia kontrolera w celu łatwego dostępu do interfejsów API Microsoft Graph i podrzędnych
  • Obsługa rozproszonej pamięci podręcznej tokenów
  • Obsługa zgody przyrostowej

Przewodnik integracji OWIN


Porównanie opcji integracji

W poniższej tabeli podsumowano kluczowe różnice między dwoma metodami integracji.

Funkcja MSAL.NET + TokenCache/certyfikat Integracja OWIN
Pakiet Microsoft. Identity.Web.TokenCache
Microsoft.Identity.Web.Certificate
Microsoft.Identity.Web.OWIN
Obiekt docelowy Aplikacje konsolowe, demony, usługi robocze ASP.NET MVC, ASP.NET Web API
Uwierzytelnianie Ręczna konfiguracja MSAL.NET Automatyczne oprogramowanie pośredniczące OWIN
Pozyskiwanie tokenów Instrukcja obsługi z IConfidentialClientApplication Automatyczne z rozszerzeniami kontrolera
Pamięć podręczna tokenów Wszyscy dostawcy (SQL, Redis, Cosmos, PostgreSQL) Wszyscy dostawcy (SQL, Redis, Cosmos, PostgreSQL)
Ładowanie certyfikatu KeyVault, przechowywanie, plik, Base64 Za pośrednictwem konfiguracji MSAL.NET
Microsoft Graph Konfiguracja ręczna GraphServiceClient this.GetGraphServiceClient()
Podrzędne interfejsy API Ręczne wywołania HTTP z tokenami this.GetDownstreamApi()
Zgoda przyrostowa Ręczna obsługa wyzwań Automatyczne z MsalUiRequiredException

Przeglądanie dostępnych pakietów

Począwszy od Microsoft. Identity.Web 1.17+ można używać bibliotek Microsoft Identity w środowiskach innych niż ASP.NET Core. Następujące pakiety są przeznaczone dla .NET Framework i obciążeń .NET Standard.

Dostępne pakiety

Pakiet Purpose Aplikacje docelowe
Microsoft. Identity.Web.TokenCache Serializatory tokenu pamięci podręcznej dla MSAL.NET Konsola, demon, usługi robocze
Microsoft. Identity.Web.Certificate Narzędzia ładowania certyfikatów Konsola, demon, usługi robocze
Microsoft. Identity.Web.OWIN Integracja oprogramowania pośredniczącego OWIN ASP.NET MVC, ASP.NET Web API

Omówienie korzyści związanych z pakietem

Te pakiety upraszczają typowe zadania uwierzytelniania bez konieczności ASP.NET Core.

Funkcja Korzyść
Serializacja pamięci podręcznej tokenów Adaptery pamięci podręcznej wielokrotnego użytku dla pamięci operacyjnej, SQL Server, Redis, Cosmos DB, PostgreSQL
Narzędzia certyfikatów Uproszczone ładowanie certyfikatów z magazynu kluczy, systemu plików lub certyfikatów
Integracja OWIN Bezproblemowa autoryzacja dla ASP.NET MVC/Web API
.NET Standard 2.0 Zgodność z programem .NET Framework 4.7.2 lub nowszym, .NET Core i .NET 5+
Minimalne zależności Pakiety ukierunkowane bez zależności od ASP.NET Core

Eksplorowanie przykładowych aplikacji

Użyj tych przykładów jako punktów początkowych dla własnej implementacji.

przykłady MSAL.NET

Przykłady OWIN