Microsoft Identity Web Authentication Library

Microsoft Identity Web je sada knihoven ASP.NET Core, které zjednodušuje přidávání podpory ověřování a autorizace do webových aplikací a webových rozhraní API integrovaných s Microsoft identity platform. Poskytuje vrstvu jednoduchého pohodlí rozhraní API, která spojuje ASP.NET Core, ověřovací middleware a knihovnu MSAL (Microsoft Authentication Library) pro .NET.

Microsoft.Identity.Web můžete získat z NuGet nebo pomocí šablony projektu Visual Studio k vytvoření nového projektu aplikace.

Podporované scénáře aplikací

Pokud vytváříte ASP.NET Core webových aplikací nebo webových rozhraní API a chcete používat Azure Active Directory (Azure AD) nebo Azure AD B2C pro správu identit a přístupu (IAM), doporučujeme pro všechny tyto scénáře používat Web identit Microsoftu:

Instalace z NuGet

Web Microsoft Identity je k dispozici na NuGet jako sada balíčků, které poskytují modulární funkce založené na potřebách vaší aplikace. Pomocí příkazu .NET CLI dotnet add nebo Visual Studio NuGet Správce balíčků nainstalujte balíčky vhodné pro váš projekt:

Instalace pomocí šablony projektu Visual Studio

V sadě .NET SDK verze 5.0 a vyšší jsou zahrnuté několik šablon projektů, které používají web Microsoft Identity Web. Šablony projektů nejsou součástí sady ASP.NET Core 3.1 SDK, ale můžete je nainstalovat samostatně.

.NET 5.0+ – zahrnuté šablony Project

Šablony projektů Microsoft Identity Web jsou součástí sady .NET SDK verze 5.0 a vyšší.

Tento ukázkový příkaz rozhraní příkazového řádku .NET vytvoří projekt Blazor Serveru, který obsahuje web Microsoft Identity.

dotnet new blazorserver --auth SingleOrg --calls-graph --client-id "00000000-0000-0000-0000-000000000000" --tenant-id "11111111-1111-1111-1111-111111111111" --output my-blazor-app

Pokud používáte šablony zahrnuté v sadě .NET SDK 5.0+, nepřipojujte 2 k argumentu typu aplikace (blazorserver v příkladu). Příponu 2 zahrňte jenom v případě, že používáte ASP.NET Core 3.1 a šablony jste nainstalovali samostatně, jak je popsáno v další části.

ASP.NET Core 3.1 – Instalace šablon projektů

Pokud používáte ASP.NET Core 3.1, nainstalujte šablony projektů z NuGet.

dotnet new --install Microsoft.Identity.Web.ProjectTemplates

Pouze pro ASP.NET Core 3.1 připojte 2 při vytváření nového projektu argument typu aplikace k argumentu typu aplikace:

dotnet new blazorserver2 --auth SingleOrg --calls-graph --client-id "00000000-0000-0000-0000-000000000000" --tenant-id "11111111-1111-1111-1111-111111111111" --output my-blazor-app

Následující diagram znázorňuje několik dostupných šablon typů aplikací a jejich argumentů. 2 Připojte k argumentu typu aplikace (blazorserver2v příkladu) jenom v případě, že používáte sadu SDK ASP.NET Core 3.1 a šablony jste nainstalovali pomocí dotnet new --install.

Diagram of the available dot net CLI project templates for Microsoft Identity Web
*MultiOrgse nepodporuje, webapi2ale můžete ho povolit v souboru appsettings.json nastavením tenanta na commonorganizations
**--calls-graph Není podporován pro Azure AD B2C

Funkce šablon projektů

Microsoft Identity Web obsahuje několik funkcí, které nejsou k dispozici ve výchozích šablonách projektů ASP.NET Core 3.1.

Funkce ASP.NET Core 3.1 Microsoft Identity Web
Přihlášení uživatelů ve webových aplikacích
  • Pracovní nebo školní účty
  • Sociální identity (s Azure AD B2C)
  • Pracovní nebo školní účty
  • Osobní účty Microsoft
  • Sociální identity (s Azure AD B2C)
  • Ochrana webových rozhraní API
  • Pracovní nebo školní účty
  • Sociální identity (s Azure AD B2C)
  • Pracovní nebo školní účty
  • Osobní účty Microsoft
  • Sociální identity (s Azure AD B2C)
  • Ověřování vystavitele v aplikacích s více tenanty No Ano, pro všechny cloudy a Azure AD B2C
    Webová aplikace nebo rozhraní API volá Microsoft Graph No Yes
    Webová aplikace nebo rozhraní API volá webové rozhraní API No Yes
    Podporuje přihlašovací údaje certifikátu. No Ano, včetně Azure Key Vault
    Podpora přírůstkového souhlasu a podmíněného přístupu ve webových aplikacích No Ano, v MVC, razor pages a Blazor
    Certifikáty šifrování tokenů ve webových rozhraních API No Yes
    Obory / ověření role aplikace ve webových rozhraních API No Yes
    WWW-Authenticate Generování hlaviček ve webových rozhraních API No Ano

    Další kroky

    Pokud se chcete podívat na web Microsoft Identity v akci, vyzkoušejte náš kurz k Blazor Serveru:

    Kurz: Vytvoření aplikace Blazor Server, která k ověřování používá Microsoft identity platform

    Wikiweb Microsoft Identity Web na GitHub obsahuje rozsáhlou referenční dokumentaci k různým aspektům knihovny. Například využití certifikátů, přírůstkové vyjádření souhlasu a odkaz na podmíněný přístup najdete tady: