Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
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
- ConfidentialClientTokenCache — aplikacja konsolowa z pamięcią podręczną tokenu
- active-directory-dotnetcore-daemon-v2 — Demon z certyfikatem z usługi KeyVault
Przykłady OWIN
- ms-identity-aspnet-webapp-openidconnect — ASP.NET MVC z Microsoft. Identity.Web.OWIN