Hızlı Başlangıç: Microsoft ile ASP.NET Core web uygulamasına oturum açma ekleme

Hoş geldiniz! Bu muhtemelen beklediğiniz sayfa değildir. Bir düzeltme üzerinde çalışırken bu bağlantı sizi doğru makaleye götürmelidir:

Hızlı Başlangıç: Microsoft ile ASP.NET Core web uygulamasına oturum açma ekleme

Bu sorun için özür dileriz ve bu sorunu çözmek için çalışırken sabrınızı takdir ediyoruz.

Bu hızlı başlangıçta, bir ASP.NET Core web uygulamasının herhangi bir Microsoft Entra kuruluşundan kullanıcılara nasıl oturum açabileceğini gösteren bir kod örneği indirip çalıştıracaksınız.

1. Adım: Uygulamanızı Azure portalında yapılandırma

Bu hızlı başlangıçtaki kod örneğinin çalışması için:

  • Yeniden Yönlendirme URI'si için ve https://localhost:44321/signin-oidcgirinhttps://localhost:44321/.
  • Ön kanal oturumu kapatma URL'si için girinhttps://localhost:44321/signout-oidc.

Yetkilendirme uç noktası istek kimliği belirteçleri verir.

Already configured Uygulamanız bu özniteliklerle yapılandırıldı.

2. Adım: ASP.NET Core projesini indirme

Projeyi çalıştırma.

İpucu

Windows'ta yol uzunluğu sınırlamalarından kaynaklanan hataları önlemek için, arşivi ayıklamanızı veya depoyu sürücünüzün köküne yakın bir dizine kopyalamanızı öneririz.

3. Adım: Uygulamanız yapılandırılmış ve çalışmaya hazır

Projenizi uygulamanızın özelliklerinin değerleriyle yapılandırdık ve çalışmaya hazır.

Not

Enter_the_Supported_Account_Info_Here

Daha Fazla Bilgi

Bu bölümde, kullanıcılarda oturum açmak için gereken koda genel bir bakış sunun. Bu genel bakış, kodun nasıl çalıştığını, ana bağımsız değişkenlerin ne olduğunu ve mevcut ASP.NET Core uygulamasına nasıl oturum açabileceğinizi anlamak için yararlı olabilir.

Örnek nasıl çalışır?

Diagram of the interaction between the web browser, the web app, and the Microsoft identity platform in the sample app.

Başlangıç sınıfı

Microsoft.AspNetCore.Authentication ara yazılımı, barındırma işlemi başladığında çalıştırılacak bir Startup sınıf kullanır:

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();
}

yöntemi, AddAuthentication() tanımlama bilgisi tabanlı kimlik doğrulaması eklemek için hizmeti yapılandırmaktadır. Bu kimlik doğrulaması, tarayıcı senaryolarında ve sınamayı OpenID Bağlan olarak ayarlamak için kullanılır.

içeren .AddMicrosoftIdentityWebApp satır, uygulamanıza Microsoft kimlik platformu kimlik doğrulaması ekler. Uygulama daha sonra, appsettings.json yapılandırma dosyasının bölümündeki aşağıdaki bilgiler temelinde kullanıcılarda AzureAD oturum açmak üzere yapılandırılır:

appsettings.json anahtarı Açıklama
ClientId Azure portalında kayıtlı uygulamanın uygulama (istemci) kimliği.
Instance Kullanıcının kimlik doğrulaması için güvenlik belirteci hizmeti (STS) uç noktası. Bu değer genellikle https://login.microsoftonline.com/Azure genel bulutunu gösteren değeridir.
TenantId Kiracınızın veya kiracı kimliğinizin (GUID) adı ya da iş veya common okul hesapları ya da Microsoft kişisel hesapları olan kullanıcılarla oturum açmak için.

Configure() yöntemi, app.UseAuthentication() adlandırılmış işlevlerini etkinleştiren ve app.UseAuthorization()adlı iki önemli yöntem içerir. Ayrıca yönteminde Configure() , Microsoft Identity Web yollarını en az bir çağrısıyla endpoints.MapControllerRoute() veya endpoints.MapControllers()çağrısıyla kaydetmeniz gerekir:

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

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

Denetleyiciyi veya yöntemleri korumaya yönelik öznitelik

özniteliğini kullanarak [Authorize] denetleyici veya denetleyici yöntemlerini koruyabilirsiniz. Bu öznitelik, yalnızca kimliği doğrulanmış kullanıcılara izin vererek denetleyiciye veya yöntemlere erişimi kısıtlar. Daha sonra kullanıcının kimliği doğrulanmamışsa denetleyiciye erişmek için bir kimlik doğrulama sınaması başlatılabilir.

Yardım ve destek 

Yardıma ihtiyacınız varsa, bir sorunu bildirmek veya destek seçenekleriniz hakkında bilgi edinmek istiyorsanız bkz . Geliştiriciler için yardım ve destek.

Sonraki adımlar

Bu ASP.NET Core öğreticisini içeren GitHub deposu, nasıl yapılacağını gösteren yönergeler ve daha fazla kod örneği içerir:

  • Yeni bir ASP.NET Core web uygulamasına kimlik doğrulaması ekleyin.
  • Microsoft Graph'ı, diğer Microsoft API'lerini veya kendi web API'lerinizi çağırabilirsiniz.
  • Yetkilendirme ekleyin.
  • Ulusal bulutlarda veya sosyal kimliklerle kullanıcılarla oturum açın.