Delen via


Quickstart: Aanmelding met Microsoft toevoegen aan een ASP.NET Core-web-app

Welkom! Dit is waarschijnlijk niet de pagina die u verwachtte te zien. Terwijl we aan een oplossing voor dit probleem werken, kunt u met deze koppeling naar het juiste artikel gaan:

Quickstart: Inloggen met Microsoft toevoegen aan een ASP.NET Core-web-app

Onze excuses voor het ongemak en waarderen uw geduld terwijl we werken om dit probleem op te lossen.

In deze quickstart downloadt en voert u een codevoorbeeld uit dat laat zien hoe een ASP.NET Core-web-app gebruikers kan aanmelden bij elke Microsoft Entra-organisatie.

Stap 1: uw toepassing configureren in de Azure-portal

Om het codevoorbeeld in deze quickstart te laten werken:

  • Voer voor omleidings-URI zowel https://localhost:44321/ als https://localhost:44321/signin-oidc in.
  • Voer voor de frontkanaal-logout-URLhttps://localhost:44321/signout-oidc in.

Het autorisatie-eindpunt geeft aanvraag-id-tokens uit.

Al geconfigureerd Uw toepassing is geconfigureerd met deze kenmerken.

Stap 2: Het ASP.NET Core-project downloaden

Voer het project uit.

Aanbeveling

Om fouten te voorkomen die worden veroorzaakt door padlengtebeperkingen in Windows, raden we u aan het archief te extraheren of de opslagplaats te klonen in een map dicht bij de wortel van uw schijf.

Stap 3: Uw app is geconfigureerd en gereed om uit te voeren

We hebben uw project geconfigureerd met waarden van de eigenschappen van uw app en het is klaar om te worden uitgevoerd.

Opmerking

Enter_the_Supported_Account_Info_Here

Meer informatie

In deze sectie vindt u een overzicht van de code die vereist is voor het aanmelden van gebruikers. Dit overzicht kan handig zijn om te begrijpen hoe de code werkt, wat de belangrijkste argumenten zijn en hoe u aanmelding toevoegt aan een bestaande ASP.NET Core-toepassing.

Hoe het voorbeeld werkt

Diagram van de interactie tussen de webbrowser, de web-app en het Microsoft Identity-platform in de voorbeeld-app.

Opstartklasse

De Middleware Microsoft.AspNetCore.Authentication maakt gebruik van een Startup klasse die wordt uitgevoerd wanneer het hostingproces wordt gestart:

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
        .AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));

    services.AddControllersWithViews(options =>
    {
        var policy = new AuthorizationPolicyBuilder()
            .RequireAuthenticatedUser()
            .Build();
        options.Filters.Add(new AuthorizeFilter(policy));
    });
   services.AddRazorPages()
        .AddMicrosoftIdentityUI();
}

De AddAuthentication() methode configureert de service om verificatie op basis van cookies toe te voegen. Deze verificatie wordt gebruikt in browserscenario's en om de uitdaging in te stellen op OpenID Connect.

De regel die .AddMicrosoftIdentityWebApp bevat, voegt Microsoft identity platform-authenticatie toe aan uw toepassing. De toepassing wordt vervolgens geconfigureerd om gebruikers aan te melden op basis van de volgende informatie in de AzureAD sectie van het appsettings.json-configuratiebestand :

Sleutel appsettings.json Beschrijving
ClientId Toepassings-id (client) van de toepassing die is geregistreerd in Azure Portal.
Instance STS-eindpunt (Security Token Service) voor de gebruiker te authenticeren. Deze waarde is doorgaans https://login.microsoftonline.com/, wat de openbare Azure-cloud aangeeft.
TenantId De naam van uw tenant of de tenant-id (een GUID) of common om gebruikers aan te melden met werk- of schoolaccounts of persoonlijke Microsoft-accounts.

De methode Configure() bevat twee belangrijke methoden, app.UseAuthentication() en app.UseAuthorization(), waarmee de benoemde functionaliteit kan worden ingeschakeld. Ook in de Configure() methode moet u Microsoft Identity-webroutes registreren met ten minste één aanroep naar endpoints.MapControllerRoute() of een aanroep naar endpoints.MapControllers():

app.UseAuthentication();
app.UseAuthorization();

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    endpoints.MapRazorPages();
});

Kenmerk voor het beveiligen van een controller of methoden

U kunt een controller- of controllermethode beveiligen met behulp van het [Authorize] kenmerk. Dit kenmerk beperkt de toegang tot de controller of methoden door alleen geverifieerde gebruikers toe te staan. Een verificatievraag kan vervolgens worden gestart om toegang te krijgen tot de controller als de gebruiker niet is geverifieerd.

Help en ondersteuning

Als u hulp nodig hebt, een probleem wilt melden of meer informatie wilt over uw ondersteuningsopties, raadpleegt u Hulp en ondersteuning voor ontwikkelaars.

Volgende stappen

De GitHub-opslagplaats met deze ASP.NET Core-zelfstudie bevat instructies en meer codevoorbeelden die laten zien hoe u het volgende kunt doen:

  • Voeg verificatie toe aan een nieuwe ASP.NET Core-webtoepassing.
  • Roep Microsoft Graph, andere Microsoft-API's of uw eigen web-API's aan.
  • Autorisatie toevoegen.
  • Meld u aan bij gebruikers in nationale clouds of met sociale identiteiten.