Microsoft Identity Web Authentication Library

Microsoft Identity Web is een set ASP.NET Core-bibliotheken die het toevoegen van verificatie- en autorisatieondersteuning aan web-apps en web-API's die integreren met de Microsoft identity platform. Het biedt een laag voor api-gemak met één oppervlak die ASP.NET Core, de verificatie-middleware en de Microsoft Authentication Library (MSAL) voor .NET met elkaar verbindt.

U kunt Microsoft.Identity.Web downloaden via NuGet of met behulp van een Visual Studio-projectsjabloon om een nieuw app-project te maken.

Ondersteunde toepassingsscenario's

Als u ASP.NET Core web-apps of web-API's bouwt en Azure Active Directory (Azure AD) of Azure AD B2C wilt gebruiken voor identiteits- en toegangsbeheer (IAM), raden we u aan microsoft Identity Web te gebruiken voor al deze scenario's:

Installeren vanuit NuGet

Microsoft Identity Web is beschikbaar op NuGet als een set pakketten die modulaire functionaliteit bieden op basis van de behoeften van uw app. Gebruik de opdracht van de .NET CLI of Visual Studio dotnet add NuGet-Pakketbeheer om de pakketten te installeren die geschikt zijn voor uw project:

Installeren met behulp van een Visual Studio-projectsjabloon

Verschillende projectsjablonen die gebruikmaken van Microsoft Identity Web zijn opgenomen in .NET SDK versie 5.0 en hoger. De projectsjablonen zijn niet opgenomen in de ASP.NET Core 3.1 SDK, maar u kunt ze afzonderlijk installeren.

.NET 5.0+ - Project meegeleverde sjablonen

De Microsoft Identity Web-projectsjablonen zijn opgenomen in .NET SDK versie 5.0 en hoger.

Met deze .NET CLI-voorbeeldopdracht maakt u een Blazor Server-project met 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

Als u de sjablonen gebruikt die zijn opgenomen 2 blazorserver in .NET SDK 5.0+, moet u geen aan het argument van het toepassingstype (in het voorbeeld) worden toegevoegd. Voeg het achtervoegsel alleen toe als u zich op ASP.NET Core 3.1 en u de sjablonen afzonderlijk hebt geïnstalleerd, zoals 2 beschreven in de volgende sectie.

ASP.NET Core 3.1 : de projectsjablonen installeren

Als u gebruik maakt van ASP.NET Core 3.1, installeert u de projectsjablonen vanuit NuGet.

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

Voor ASP.NET Core alleen 3.1, moet u een aan het argument van het toepassingstype app-argument bij het maken van een nieuw 2 project:

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

In het volgende diagram ziet u verschillende beschikbare app-typesjablonen en hun argumenten. Als u de 2 blazorserver2 ASP.NET Core 3.1 SDK gebruikt en u de sjablonen hebt geïnstalleerd met . dotnet new --install

Diagram van de beschikbare dot net CLI-projectsjablonen voor Microsoft Identity Web
*MultiOrgwordt niet ondersteund met webapi2 , maar kan worden ingeschakeld in appsettings.json door tenant in te stellen op common oforganizations
**--calls-graphwordt niet ondersteund voor Azure AD B2C

Functies van de projectsjablonen

Microsoft Identity Web bevat verschillende functies die niet beschikbaar zijn in de ASP.NET Core 3.1-projectsjablonen.

Functie ASP.NET Core 3.1 Microsoft Identity Web
Gebruikers aanmelden bij web-apps
  • Werk- of schoolaccounts
  • Sociale identiteiten (met Azure AD B2C)
  • Werk- of schoolaccounts
  • Persoonlijk Microsoft-account
  • Sociale identiteiten (met Azure AD B2C)
  • Web-API's beveiligen
  • Werk- of schoolaccounts
  • Sociale identiteiten (met Azure AD B2C)
  • Werk- of schoolaccounts
  • Persoonlijk Microsoft-account
  • Sociale identiteiten (met Azure AD B2C)
  • Validatie van vergever in apps met meerdere tenants No Ja, voor alle clouds en Azure AD B2C
    Web-app/API roept Microsoft Graph aan Nee Ja
    Web-app/API roept web-API aan Nee Ja
    Ondersteunt certificaatreferenties No Ja, inclusief Azure Key Vault
    Ondersteuning voor incrementele toestemming en voorwaardelijke toegang in web-apps No Ja, in MVC, Razor-pagina's en Blazor
    Tokenversleutelingscertificaten in web-API's Nee Ja
    [Scopes/app role validation] scenario-api-validation in web-API's Nee Ja
    WWW-Authenticate header genereren in web-API's Nee Ja

    Volgende stappen

    Als u Microsoft Identity Web in actie wilt zien, kunt u onze Blazor Server-zelfstudie proberen:

    Zelfstudie: Een Blazor Server-app maken die gebruikmaakt van het Microsoft-identiteitsplatform voor verificatie

    De Microsoft Identity Web-wiki over GitHub bevat uitgebreide referentiedocumentatie voor verschillende aspecten van de bibliotheek. Certificaatgebruik, incrementele toestemming en verwijzing naar voorwaardelijke toegang vindt u hier: