Aracılığıyla paylaş


Hızlı Başlangıç: ASP.NET Core web uygulamasına Microsoft ile 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 https://localhost:44321/ ve https://localhost:44321/signin-oidc girin.
  • Ön kanal oturumu kapatma URL'si için girinhttps://localhost:44321/signout-oidc.

Yetkilendirme uç noktası, istek kimlik belirteçleri verecektir.

Zaten yapılandırılmış Uygulamanız bu özniteliklerle yapılandırıldı.

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

Projeyi çalıştırın.

Tavsiye

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.

Uyarı

Enter_the_Supported_Account_Info_Here

Daha fazla bilgi

Bu bölümde, kullanıcıların oturum açması için gerekli olan koda genel bir bakış sunulmaktadır. 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?

Web tarayıcısı, web uygulaması ve örnek uygulamadaki Microsoft kimlik platformu arasındaki etkileşimin diyagramı.

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

AddAuthentication() yöntemi, hizmeti çerez tabanlı kimlik doğrulaması eklemek üzere yapılandırır. Bu kimlik doğrulaması, tarayıcı senaryolarında ve sınamayı OpenID Connect olarak ayarlamak için kullanılır.

içeren .AddMicrosoftIdentityWebApp satır, uygulamanıza Microsoft kimlik platformu kimlik doğrulaması ekler. Uygulama daha sonra, kullanıcıların oturum açmasını sağlamak için, AzureAD yapılandırma dosyasının bölümünde yer alan aşağıdaki bilgilere göre 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 common, iş veya okul hesapları ya da Microsoft kişisel hesapları ile kullanıcıları 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. Configure() yönteminde, Microsoft Identity Web yollarını en az bir endpoints.MapControllerRoute() çağrısı veya bir 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. Yardım ve geliştiriciler için 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.