Microsoft Identity Web Authentication Library

Microsoft Identity Web är en uppsättning ASP.NET Core bibliotek som gör det enklare att lägga till stöd för autentisering och auktorisering för webbappar och webb-API:er som integreras med Microsofts identitetsplattform. Det tillhandahåller ett praktisk API-lager på en enda yta som kopplar samman ASP.NET Core, dess mellanprogram för autentisering och Microsoft Authentication Library (MSAL) för .NET.

Du kan hämta Microsoft.Identity.Web från NuGet eller genom att använda en Visual Studio för att skapa ett nytt appprojekt.

Programscenarier som stöds

Om du skapar ASP.NET Core-webbappar eller webb-API:er och vill använda Azure Active Directory (Azure AD) eller Azure AD B2C för identitets- och åtkomsthantering (IAM) rekommenderar vi att du använder Microsoft Identity Web för alla dessa scenarier:

Installera från NuGet

Microsoft Identity Web är tillgängligt på NuGet som en uppsättning paket som tillhandahåller modulära funktioner baserat på appens behov. Använd .NET CLI:s kommando dotnet add eller Visual Studio NuGet Package Manager för att installera de paket som passar ditt projekt:

Installera med hjälp av en Visual Studio-projektmall

Flera projektmallar som använder Microsoft Identity Web ingår i .NET SDK version 5.0 och senare. Projektmallarna ingår inte i ASP.NET Core 3.1 SDK, men du kan installera dem separat.

.NET 5.0+ – Project mallar ingår

Microsoft Identity Web-projektmallarna ingår i .NET SDK version 5.0 och senare.

Det här .NET CLI-exempelkommandot skapar ett Blazor Server-projekt som innehåller Microsoft Identity Web.

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

Lägg inte till en i argumentet för programtyp ( i exemplet) om du använder mallarna som ingår i 2 blazorserver .NET SDK 5.0+. Inkludera endast suffixet om du använder ASP.NET Core 3.1 och du har installerat mallarna separat enligt 2 beskrivningen i nästa avsnitt.

ASP.NET Core 3.1 – Installera projektmallarna

Om du använder ASP.NET Core 3.1 installerar du projektmallarna från NuGet.

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

För ASP.NET Core 3.1 lägger du till en 2 i argumentet för programtyp när du skapar ett nytt projekt:

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

Följande diagram visar flera av de tillgängliga apptypmallarna och deras argument. Lägg till en i apptypargumentet ( i exemplet) endast om du använder 2 blazorserver2 ASP.NET Core 3.1 SDK och du har installerat mallarna med hjälp av dotnet new --install .

Diagram över tillgängliga CLI-projektmallar för Microsoft Identity Web
*MultiOrgstöds inte med webapi2 , men kan aktiveras i appsettings.json genom att ange tenant till common ellerorganizations
**--calls-graphstöds inte för Azure AD B2C

Funktioner i projektmallarna

Microsoft Identity Web innehåller flera funktioner som inte är tillgängliga i ASP.NET Core 3.1-projektmallar.

Funktion ASP.NET Core 3.1 Microsoft Identity Web
Logga in användare i webbappar
  • Arbets- eller skolkonton
  • Sociala identiteter (med Azure AD B2C)
  • Arbets- eller skolkonton
  • Personliga Microsoft-konton
  • Sociala identiteter (med Azure AD B2C)
  • Skydda webb-API:er
  • Arbets- eller skolkonton
  • Sociala identiteter (med Azure AD B2C)
  • Arbets- eller skolkonton
  • Personliga Microsoft-konton
  • Sociala identiteter (med Azure AD B2C)
  • Utfärdarvalidering i appar för flera innehavare Inga Ja, för alla moln och Azure AD B2C
    Webbapp/API anropar Microsoft Graph Inga Ja
    Webbapp/API anropar webb-API Inga Ja
    Stöder certifikatautentiseringsuppgifter Inga Ja, inklusive Azure Key Vault
    Inkrementellt medgivande och stöd för villkorlig åtkomst i webbappar Inga Ja, i MVC, Razor-sidor och Blazor
    Tokenkrypteringscertifikat i webb-API:er Inga Ja
    [Validering av omfång/approll] scenario-api-validation i webb-API:er Inga Ja
    WWW-Authenticate rubrikgenerering i webb-API:er Inga Ja

    Nästa steg

    Om du vill se hur Microsoft Identity Web fungerar i praktiken kan du prova självstudien om Blazor Server:

    Självstudie: Skapa en Blazor Server-app som använder Microsofts identitetsplattform för autentisering

    Microsoft Identity Web Wiki på GitHub innehåller omfattande referensdokumentation för olika aspekter av biblioteket. Du kan till exempel hitta certifikatanvändning, inkrementellt medgivande och referens för villkorlig åtkomst här: