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: Aanmelding met Microsoft toevoegen aan een ASP.NET Core-web-app

Onze excuses voor het ongemak en bedankt voor uw geduld tijdens onze inspanningen 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

Het codevoorbeeld in deze quickstart werkt als volgt:

  • Voer voor omleidings-URI en https://localhost:44321/https://localhost:44321/signin-oidc.
  • Voer voor URL voor afmelden van frontkanaalhttps://localhost:44321/signout-oidc in.

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

Already configured Uw toepassing is geconfigureerd met deze kenmerken.

Stap 2: Het ASP.NET Core-project downloaden

Voer het project uit.

Tip

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 hoofdmap van uw station.

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.

Notitie

Enter_the_Supported_Account_Info_Here

Meer informatie

Deze sectie bevat 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 of the interaction between the web browser, the web app, and the Microsoft identity platform in the sample 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();
}

Met de methode AddAuthentication() wordt de service geconfigureerd voor het toevoegen van op cookies gebaseerde verificatie. Deze verificatie wordt gebruikt in browserscenario's en om de uitdaging voor OpenID Connect in te stellen.

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

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

De methode Configure() bevat twee belangrijke methoden, app.UseAuthentication() en app.UseAuthorization(), waarmee de benoemde functionaliteit kan worden ingeschakeld. In de Configure()-methode moet u ook de routes van Microsoft Identity Web registreren met ten minste één aanroep naar endpoints.MapControllerRoute() of 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 die deze ASP.NET Core-handleiding bevat, bevatten instructies en meer codevoorbeelden die laten zien hoe u het volgende kunt doen:

  • Verificatie toevoegen aan een nieuwe ASP.NET Core Web-toepassing.
  • Microsoft Graph, andere Microsoft-API's of uw eigen web-API's aanroepen.
  • Autorisatie toevoegen.
  • Gebruikers aanmelden bij nationale clouds of met sociale identiteiten.