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.
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?
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.