ASP.NET Core Blazor WebAssembly Güvenli Hale Getirme
Uyarı
ASP.NET Core'un bu sürümü artık desteklenmiyor. Daha fazla bilgi için bkz . .NET ve .NET Core Destek İlkesi. Geçerli sürüm için bu makalenin .NET 8 sürümüne bakın.
Blazor WebAssembly uygulamaları tek sayfalı uygulamalarla (SPA'lar) aynı şekilde güvenli hale getirilir. Kullanıcıların SPA'lara kimliklerini doğrulamaya yönelik çeşitli yaklaşımlar vardır, ancak en yaygın ve kapsamlı yaklaşım, OpenID Connect (OIDC) gibi OAuth 2.0 protokolüne dayalı bir uygulama kullanmaktır.
Güvenlik Blazor WebAssembly belgelerinde öncelikle kullanıcı kimlik doğrulaması ve yetkilendirme görevlerinin nasıl yerine getirilip gerçekleştireceğine odaklanılmıştır. OAuth 2.0/OIDC genel kavram kapsamı için, ana genel bakış makalesinin Ek kaynaklar bölümündeki kaynaklara bakın.
İstemci tarafı/SPA güvenliği
Bir Blazor WebAssembly uygulamanın .NET/C# kod tabanı istemcilere sunulur ve uygulamanın kodu kullanıcılar tarafından denetlenmeye ve değiştirilmeye karşı korunamaz. Özel .NET/C# kodu, güvenlik anahtarları, parolalar veya diğer hassas bilgiler gibi gizli nitelikteki herhangi bir Blazor WebAssembly şeyi hiçbir zaman uygulamaya yerleştirmeyin.
.NET/C# kodunu korumak ve verilerin güvenliğini sağlamak için ASP.NET Core Data Protection özelliklerini kullanmak için sunucu tarafı ASP.NET Core web API'sini kullanın. İstemci tarafı Blazor WebAssembly uygulamasının güvenli uygulama özellikleri ve veri işleme için sunucu tarafı web API'sini çağırmasını sağlayın. Daha fazla bilgi için bkz . ASP.NET Core Blazor uygulamasından web API'sini çağırma ve bu düğümdeki makaleler.
Kimlik doğrulaması kitaplığı
Blazor WebAssembly, Microsoft identity platformunu kullanarak kitaplık aracılığıyla OIDC kullanarak uygulamaların kimliğini doğrulamayı Microsoft.AspNetCore.Components.WebAssembly.Authentication
ve yetkilendirmeyi destekler. Kitaplık, ASP.NET Core arka uçlarda sorunsuz bir şekilde kimlik doğrulaması için bir dizi temel öğe sağlar. Kitaplık, OpenID Sağlayıcıları (OP) olarak adlandırılan OIDC'yi destekleyen herhangi bir üçüncü taraf Identity Sağlayıcıda (IP) kimlik doğrulaması yapabilir.
Kitaplıktaki Blazor WebAssembly (Authentication.js
) kimlik doğrulama desteği, temel alınan kimlik doğrulama protokolü ayrıntılarını işlemek için kullanılan Microsoft Kimlik Doğrulama Kitaplığı'nın (MSAL, msal.js
) üzerine kurulmuştur. Blazor WebAssembly Kitaplık yalnızca Kod Değişimi (PKCE) yetkilendirme kodu akışı için Proof Key'i destekler. Örtük izin desteklenmez.
SPA'ların kimliğini doğrulamak için SameSite tanımlama bilgilerinin kullanımı gibi başka seçenekler de vardır. Ancak, mühendislik tasarımı Blazor WebAssembly uygulamalarda kimlik doğrulaması Blazor WebAssembly için en iyi seçenek olarak OAuth ve OIDC kullanır. İşlevsel ve güvenlik nedenleriyle, tabanlı kimlik doğrulaması yerinecookie JSON Web Belirteçlerine (JWT) dayalı belirteç tabanlı kimlik doğrulaması seçildi:
- Belirteç tabanlı protokol kullanmak, belirteçler tüm isteklerde gönderilmediğinden daha az güvenlik açığı sunar.
- Belirteçler açıkça sunucuya gönderilir, bu nedenle sunucu uç noktaları Siteler Arası İstek Sahteciliği'ne (CSRF) karşı koruma gerektirmez. Bu sayede Blazor WebAssembly uygulamalarını MVC veya Razor sayfası uygulamalarıyla birlikte barındırabilirsiniz.
- Belirteçler tanımlama bilgilerinden daha dar izinlere sahiptir. Örneğin belirteçler, bu tür işlevler açıkça uygulanmadığı sürece kullanıcı hesabını yönetmek veya kullanıcının parolasını değiştirmek için kullanılamaz.
- Belirteçlerin kısa bir ömrü vardır ve bu da saldırı penceresini sınırlar. Belirteçler istediğiniz zaman iptal edilebilir.
- Bağımsız JWT'ler, istemciye ve sunucuya kimlik doğrulaması işlemiyle ilgili garantiler sunar. Örneğin, bir istemci aldığı belirteçlerin meşru olduğunu ve belirli bir kimlik doğrulaması işleminin parçası olarak yayıldığını algılama ve doğrulama araçlarına sahiptir. Bir üçüncü taraf kimlik doğrulaması işleminin ortasında bir belirteç değiştirmeye çalışırsa, istemci değiştirilmiş belirteci algılayabilir ve kullanmaktan kaçınabilir.
- OAuth ve OIDC içeren belirteçler, uygulamanın güvenli olduğundan emin olmak için kullanıcı aracısının doğru şekilde davranmasına dayanmaz.
- OAuth ve OIDC gibi belirteç tabanlı protokoller, aynı güvenlik özellikleri kümesine sahip tek başına Blazor Webassembly uygulamalarında kullanıcıların kimliğini doğrulamaya ve yetkilendirmeye olanak sağlar.
- Belirteç tabanlı protokol kullanmak, belirteçler tüm isteklerde gönderilmediğinden daha az güvenlik açığı sunar.
- Belirteçler açıkça sunucuya gönderilir, bu nedenle sunucu uç noktaları Siteler Arası İstek Sahteciliği'ne (CSRF) karşı koruma gerektirmez. Bu sayede Blazor WebAssembly uygulamalarını MVC veya Razor sayfası uygulamalarıyla birlikte barındırabilirsiniz.
- Belirteçler tanımlama bilgilerinden daha dar izinlere sahiptir. Örneğin belirteçler, bu tür işlevler açıkça uygulanmadığı sürece kullanıcı hesabını yönetmek veya kullanıcının parolasını değiştirmek için kullanılamaz.
- Belirteçlerin kısa bir ömrü vardır ve bu da saldırı penceresini sınırlar. Belirteçler istediğiniz zaman iptal edilebilir.
- Bağımsız JWT'ler, istemciye ve sunucuya kimlik doğrulaması işlemiyle ilgili garantiler sunar. Örneğin, bir istemci aldığı belirteçlerin meşru olduğunu ve belirli bir kimlik doğrulaması işleminin parçası olarak yayıldığını algılama ve doğrulama araçlarına sahiptir. Bir üçüncü taraf kimlik doğrulaması işleminin ortasında bir belirteç değiştirmeye çalışırsa, istemci değiştirilmiş belirteci algılayabilir ve kullanmaktan kaçınabilir.
- OAuth ve OIDC içeren belirteçler, uygulamanın güvenli olduğundan emin olmak için kullanıcı aracısının doğru şekilde davranmasına dayanmaz.
- OAuth ve OIDC gibi belirteç tabanlı protokoller, barındırılan Blazor WebAssembly çözüm istemcilerinin ve aynı güvenlik özelliklerine sahip tek başına Blazor Webassembly uygulamalarının kullanıcılarının kimliğini doğrulamaya ve yetkilendirmeye olanak tanır.
Önemli
Proje şablonlarında Duende Identity Server'ı Blazor benimseyen ASP.NET Core sürümleri için Duende Software, Duende Identity Server'ın üretim kullanımı için lisans ücreti ödemenizi gerektirebilir. Daha fazla bilgi için, bkz. ASP.NET Core 5.0'den 6.0'a geçiş.
OIDC ile kimlik doğrulaması işlemi
Microsoft.AspNetCore.Components.WebAssembly.Authentication
kitaplığı OIDC kullanarak kimlik doğrulaması ve yetkilendirme uygulamak için birkaç temel öğe sunar. Genel olarak, kimlik doğrulaması aşağıdaki gibi çalışır:
- Anonim bir kullanıcı oturum açma düğmesini seçtiğinde veya özniteliği uygulanmış bir Razor bileşen veya sayfa
[Authorize]
istediğinde, kullanıcı uygulamanın oturum açma sayfasına (/authentication/login
) yönlendirilir. - Oturum açma sayfasında, kimlik doğrulaması kitaplığı yetkilendirme uç noktasına yeniden yönlendirmeye hazırlanır. Yetkilendirme uç noktası Blazor WebAssembly uygulamasının dışındadır ve ayrı bir kaynakta barındırılabilir. Uç nokta, kullanıcının kimliğinin doğrulanıp doğrulanmadığını belirlenmesi ve yanıt olarak bir veya daha fazla belirteç verilmesinden sorumludur. Kimlik doğrulaması kitaplığı, kimlik doğrulaması yanıtını almak için bir oturum açma geri çağırması sağlar.
- Kullanıcının kimliği doğrulanmamışsa, kullanıcı genellikle ASP.NET Core Identity temel alınan kimlik doğrulaması sistemine yönlendirilir.
- Kullanıcının kimliği zaten doğrulanmışsa, yetkilendirme uç noktası uygun belirteçleri oluşturur ve tarayıcıyı yeniden oturum açma geri çağırma uç noktasına (
/authentication/login-callback
) yönlendirir.
- Blazor WebAssembly uygulamasında oturum açma geri çağırma uç noktasını (
/authentication/login-callback
) yüklediğinde, kimlik doğrulaması yanıtı işlenir.- Kimlik doğrulaması işlemi başarıyla tamamlanırsa, kullanıcının kimliği doğrulanır ve isteğe bağlı olarak kullanıcının istediği özgün korumalı URL'ye geri gönderilir.
- Kimlik doğrulama işlemi herhangi bir nedenle başarısız olursa, kullanıcı bir hatanın görüntülendiği oturum açma başarısız sayfasına ()
/authentication/login-failed
gönderilir.
Authentication
bileşeni
Authentication
bileşeni (Authentication.razor
) uzaktan kimlik doğrulaması işlemlerini işler ve uygulamanın aşağıdakileri uygulamasına izin verir:
- Kimlik doğrulaması durumları için uygulama yollarını yapılandırın.
- Kimlik doğrulaması durumları için kullanıcı arabirimi içeriğini ayarlayın.
- Kimlik doğrulaması durumunu yönetme.
Bir kullanıcıya kaydolma veya oturum açma gibi kimlik doğrulaması eylemleri, Blazor çerçevesinin RemoteAuthenticatorViewCore<TAuthenticationState> bileşenine geçirilir ve bu da kimlik doğrulaması işlemleri arasında durumu kalıcı hale getiren ve denetler.
Daha fazla bilgi ve örnek için, bkz. ASP.NET Core Blazor WebAssembly ek güvenlik senaryoları.
Yetkilendirme
Blazor WebAssembly uygulamalarında, tüm istemci tarafı kodlar kullanıcılar tarafından değiştirilemediği için yetkilendirme denetimleri atlanabilir. Aynı durum, JavaScript SPA çerçeveleri veya herhangi bir işletim sistemi için yerel uygulamalar da dahil olmak üzere tüm istemci tarafı uygulama teknolojileri için geçerlidir.
İstemci tarafı uygulamanız tarafından erişilen API uç noktaları içinde her zaman sunucuda yetkilendirme denetimleri gerçekleştirin.
Kimlik doğrulamasını özelleştirme
Blazor WebAssembly , dış identity sağlayıcılarla uzaktan kimlik doğrulama işlemleri gerçekleştirmek üzere temel alınan Kimlik Doğrulama kitaplığı için ek parametreler ekleme ve alma yöntemleri sağlar.
Ek parametreleri geçirmek için, NavigationManager dış konum değişiklikleri gerçekleştirirken geçmiş giriş durumunu geçirmeyi ve almayı destekler. Daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın:
- BlazorTemel Bilgiler>Yönlendirme ve gezinti makalesi
- MDN belgeleri: Geçmiş API'si
Geçmiş API’sinin depoladığı durum, uzaktan kimlik doğrulaması için şu avantajları sunar:
- Güvenli uygulama uç noktasına geçirilen durum,
authentication/login
uç noktasında kullanıcının kimliğini doğrulamak için gerçekleştirilen gezinmeye bağlanır. - Verileri kodlamak ve kod çözmek için ek işlem gerekmez.
- Güvenlik açıkları azalır. Gezinti durumunu depolamak için sorgu dizesini kullanmanın aksine, üst düzey gezinti veya farklı bir kaynaktan gelen etki Geçmiş API'sinin depoladığı durumu ayarlayamaz.
- Başarılı kimlik doğrulamasından sonra geçmiş girdisi değiştirilir, böylece geçmiş girişine eklenen durum kaldırılır ve temizleme gerektirmez.
InteractiveRequestOptions , sağlayıcıya identity oturum açma veya erişim belirteci sağlama isteğini temsil eder.
NavigationManagerExtensions, oturum açma işlemi için NavigateToLogin yöntemini ve oturumu kapatma işlemi için NavigateToLogout yöntemini sağlar. Yöntemler, NavigationManager.NavigateTo için çağrıda bulunarak, geçirilen bir InteractiveRequestOptions veya şunun için oluşturulmuş yeni bir InteractiveRequestOptions örneğiyle geçmiş girdi durumunu belirler:
- Dönüş URL’si için mevcut URI ile oturum açan bir kullanıcı (InteractionType.SignIn).
- Dönüş URL’siyle oturumu kapatan bir kullanıcı (InteractionType.SignOut).
Aşağıdaki kimlik doğrulaması senaryoları, ASP.NET Core Blazor WebAssembly ek güvenlik senaryoları makalesinde ele alınmıştır:
- Oturum açma işlemini özelleştirme
- Özel dönüş URL'si ile oturum kapatma
- Bir belirteci etkileşimli olarak almadan önce seçenekleri özelleştirme
- IAccessTokenProvider kullanırken seçenekleri özelleştirme
- Kimlik doğrulaması seçeneklerinden oturum açma yolunu alma
Uygulamanın tamamı için yetkilendirme gerektir
[Authorize]
Aşağıdaki yaklaşımlardan birini kullanarak uygulamanın her Razor bileşenine özniteliğini (API belgeleri) uygulayın:
Uygulamanın Imports dosyasında,
[Authorize]
özniteliği için bir@attribute
yönergesi ile Microsoft.AspNetCore.Authorization ad alanı için bir@using
yönergesi ekleyin._Imports.razor
:@using Microsoft.AspNetCore.Authorization @attribute [Authorize]
Sağlayıcıya
Authentication
yeniden yönlendirmeye izin vermek için bileşene anonim erişim izni identity verin. Aşağıdaki Razor koduAuthentication
bileşenine@page
yönergesi altına ekleyin.Authentication.razor
:@using Microsoft.AspNetCore.Components.WebAssembly.Authentication @attribute [AllowAnonymous]
yönergesi altındaki her Razor bileşene özniteliğini
@page
ekleyin:@using Microsoft.AspNetCore.Authorization @attribute [Authorize]
Not
AuthorizationOptions.FallbackPolicy öğesinin RequireAuthenticatedUser ile bir ilkeye ayarlanması desteklenmez.
Uygulama başına bir identity sağlayıcı uygulaması kaydı kullanma
Bu Genel Bakış Blazor altındaki makalelerden bazıları, iki veya daha fazla uygulama içeren barındırma senaryolarıyla ilgilidir. Tek başına Blazor WebAssembly bir uygulama, sunucu kaynaklarına ve bir sunucu uygulaması tarafından sağlanan verilere erişmek için kimliği doğrulanmış kullanıcılarla web API'sini kullanır.
Bu senaryo belge örneklerinde uygulandığında biri istemci uygulaması, identity diğeri sunucu uygulaması için iki sağlayıcı kaydı kullanılır. Örneğin Microsoft Entra Id'de ayrı kayıtların kullanılması kesinlikle gerekli değildir. Ancak, iki kaydın kullanılması, kayıtları uygulamaya göre yalıttığı için en iyi güvenlik uygulamasıdır. Ayrı kayıtların kullanılması, istemci ve sunucu kayıtlarının bağımsız olarak yapılandırılmasına da olanak tanır.
Bu Genel Bakış altındaki makalelerden bazıları, iki veya daha fazla uygulama içeren aşağıdaki Blazor barındırma senaryolarından biriyle ilgilidir:
- İki uygulamadan oluşan barındırılan Blazor WebAssembly bir çözüm: istemci tarafı uygulaması ve sunucu tarafı Blazor WebAssembly ASP.NET Core konak uygulaması. İstemci uygulaması erişim sunucusu kaynaklarına ve sunucu uygulaması tarafından sağlanan verilere kimliği doğrulanmış kullanıcılar.
- Sunucu kaynaklarına ve bir sunucu uygulaması tarafından sağlanan verilere erişmek için kimliği doğrulanmış kullanıcılarla web API'sini kullanan tek başına Blazor WebAssembly bir uygulama. Bu senaryo barındırılan Blazor WebAssembly bir çözüm kullanmaya benzer, ancak bu durumda istemci uygulaması sunucu uygulaması tarafından barındırılmıyor.
Bu senaryolar belge örneklerinde uygulandığında biri identity istemci uygulaması, diğeri sunucu uygulaması için iki sağlayıcı kaydı kullanılır. Örneğin Microsoft Entra Id'de ayrı kayıtların kullanılması kesinlikle gerekli değildir. Ancak, iki kaydın kullanılması, kayıtları uygulamaya göre yalıttığı için en iyi güvenlik uygulamasıdır. Ayrı kayıtların kullanılması, istemci ve sunucu kayıtlarının bağımsız olarak yapılandırılmasına da olanak tanır.
Belirteçleri yenileme
Yenileme belirteçleri uygulamalarda güvenli hale getirilemese de Blazor WebAssembly , bunları uygun güvenlik stratejileriyle uygularsanız kullanılabilir.
.NET 6 veya sonraki sürümlerde ASP.NET Core'daki tek başına Blazor WebAssembly uygulamalar için şunları kullanmanızı öneririz:
- Kod Değişimi (PKCE) için Yazım Denetleme Anahtarı ile OAuth 2.0 Yetkilendirme Kodu akışı (Kod).
- Kısa süre sonu olan yenileme belirteci.
- Döndürülmüş yenileme belirteci.
- Kullanıcının kimlik bilgilerini yenilemek için yeni bir etkileşimli yetkilendirme akışının gerekli olduğu süre sonu olan yenileme belirteci.
Barındırılan Blazor WebAssembly çözümler için, üçüncü taraf API'lere erişmek için sunucu tarafı uygulama tarafından yenileme belirteçleri korunabilir ve kullanılabilir. Daha fazla bilgi için, bkz. ASP.NET Core Blazor WebAssembly ek güvenlik senaryoları.
Daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın:
- Microsoft identity platformu yenileme belirteçleri: Belirteç ömrünü yenileme
- Tarayıcı Tabanlı Uygulamalar için OAuth 2.0 (IETF belirtimi)
Kullanıcılar için talep oluşturma
Uygulamalar genellikle bir sunucuya yapılan web API çağrısına dayalı olarak, kullanıcılar için talep gerektirir. Örneğin, talepler genellikle bir uygulamada yetkilendirme oluşturmak için kullanılır. Bu senaryolarda uygulama hizmete erişmek için bir erişim belirteci istemektedir ve talep oluşturmak üzere kullanıcı verilerini almak için belirteci kullanır.
Örnekler için, aşağıdaki kaynaklara bakın:
- Ek senaryolar: Kullanıcıyı özelleştirme
- Microsoft Entra Id grupları ve rolleri ile ASP.NET Core Blazor WebAssembly
Prerendering desteği
Ön kayıt, kimlik doğrulaması uç noktaları (/authentication/
yol kesimi) için desteklenmez.
Ön kayıt, kimlik doğrulaması uç noktaları (/authentication/
yol kesimi) için desteklenmez.
Daha fazla bilgi için, bkz. ASP.NET Core Blazor WebAssembly ek güvenlik senaryoları.
Identity Server ile Linux üzerinde Azure App Service
Identity Server ile Linux üzerinde Azure App Service dağıtılırken sertifikayı vereni açıkça belirtin.
Daha fazla bilgi için bkz. SPA'lar için Web API arka ucu güvenliğini sağlamak için kullanmaIdentity.
Windows Kimlik Doğrulaması
Windows Kimlik Doğrulaması'nın Blazor Webassembly ile veya başka bir SPA çerçevesiyle kullanılmasını önermiyoruz. Active Directory Federasyon Hizmetleri (ADFS) ile OIDC gibi Windows Kimlik Doğrulaması yerine belirteç tabanlı protokoller kullanmanızı öneririz.
Windows Kimlik Doğrulaması Blazor Webassembly ile veya başka bir SPA çerçevesiyle kullanılıyorsa, uygulamayı siteler arası istek sahteciliği (CSRF) belirteçlerinden korumak için ek önlemler gerekir. Tanımlama bilgileri için geçerli olan endişelerin aynısı, Windows Kimlik Doğrulaması'nın kimlik doğrulama bağlamının çıkış noktaları arasında paylaşılmasını engelleyen bir mekanizma sunmamasıyla birlikte Windows Kimlik Doğrulaması için de geçerlidir. CSRF'den ek koruma olmadan Windows Kimlik Doğrulaması kullanan uygulamalar, en azından bir kuruluşun intraneti ile sınırlı olmalı ve açık İnternet'te kullanılmamalıdır.
Daha fazla bilgi için, bkz. ASP.NET Core'da Siteler Arası İstek Sahteciliği (XSRF/CSRF) saldırılarını önleme.
SignalR merkezinin güvenliğini sağlama
Sunucu API projesindeki bir SignalR hub'ın güvenliğini sağlamak için özniteliğini hub sınıfına veya hub sınıfının yöntemlerine uygulayın[Authorize]
.
Barındırılan Blazor WebAssembly (.NET 7 veya önceki sürümlerinde ASP.NET Core) ya da (.NET 8 veya sonraki sürümlerde ASP.NET Core) gibi ön kayıt içeren bir Blazor Web App istemci projesinde, ASP.NET Core BlazorSignalR kılavuzundaki yönergelere bakın.
Tek başına Blazor WebAssemblyveya tarayıcı dışı uygulamalar gibi ön kayıt olmadan bir istemci proje bileşeninde, aşağıdaki örnekte gösterildiği gibi merkez bağlantısına bir erişim belirteci sağlayın. Daha fazla bilgi için bkz. ASP.NET Core'da kimlik doğrulaması ve yetkilendirmeSignalR.
@using Microsoft.AspNetCore.Components.WebAssembly.Authentication
@inject IAccessTokenProvider TokenProvider
@inject NavigationManager Navigation
...
var tokenResult = await TokenProvider.RequestAccessToken();
if (tokenResult.TryGetToken(out var token))
{
hubConnection = new HubConnectionBuilder()
.WithUrl(Navigation.ToAbsoluteUri("/chathub"),
options => { options.AccessTokenProvider = () => Task.FromResult(token?.Value); })
.Build();
...
}
Günlük Kaydı
Bu bölüm .NET 7 veya sonraki sürümlerde ASP.NET Core'daki uygulamalar için Blazor WebAssembly geçerlidir.
Hata ayıklamayı veya izleme günlüğünü etkinleştirmek için ASP.NET Core Blazor günlüğü makalesinin 7.0 veya sonraki bir sürümündeki Kimlik doğrulama günlüğü (Blazor WebAssembly) bölümüne bakın.
WebAssembly korumalı alanı
WebAssembly korumalı alanı , G/Ç alt sistemlerine, sistem depolamasına ve kaynaklarına ve işletim sistemine erişim dahil olmak üzere WebAssembly kodunu yürüten sistemin ortamına erişimi kısıtlar. WebAssembly kodu ile kodu yürüten sistem arasındaki yalıtım, WebAssembly'yi sistemler için güvenli bir kodlama çerçevesi haline getirir. Ancak WebAssembly, donanım düzeyinde yan kanal saldırılarına karşı savunmasızdır. Donanım kaynağını belirleme ve donanıma erişim sınırlamaları uygulama konusunda normal önlemler ve durum tespiti geçerlidir.
WebAssembly, Microsoft'a ait değildir veya microsoft tarafından korunmaz.
Daha fazla bilgi için aşağıdaki W3C kaynaklarına bakın:
- WebAssembly: Güvenlik
- WebAssembly Belirtimi: Güvenlikle İlgili Dikkat Edilmesi Gerekenler
- W3C WebAssembly Topluluk Grubu: Geri bildirim ve sorunlar: W3C WebAssembly Topluluk Grubu bağlantısı yalnızca başvuru için sağlanır ve WebAssembly güvenlik açıklarının ve hatalarının sürekli olarak düzeltme eki eklendiğini, genellikle tarayıcı tarafından bildirildiğini ve giderildiğini açıkça gösterir. W3C WebAssembly Topluluk Grubuna Blazor geri bildirim veya hata raporları göndermeyin.Blazor Geri bildirim Microsoft ASP.NET Core ürün birimine bildirilmelidir. Microsoft ürün birimi WebAssembly ile ilgili temel bir sorunun mevcut olduğunu belirlerse, sorunu W3C WebAssembly Topluluk Grubu'na bildirmek için uygun adımları uygular.
Uygulama kılavuzu
Bu Genel Bakış altındaki makaleler, Blazor WebAssembly uygulamalarında belirli sağlayıcılara karşı kullanıcıların kimliğini doğrulaması hakkında bilgi sağlar.
Tek başına Blazor WebAssembly uygulamaları:
- OIDC sağlayıcıları ve WebAssembly Kimlik Doğrulaması Kitaplığı için genel yönergeler
- Microsoft Hesapları
- Microsoft Entra Id (ME-ID)
- Azure Active Directory (AAD) B2C
Barındırılan Blazor WebAssembly uygulamaları:
Aşağıdaki makalelerde daha fazla yapılandırma kılavuzu bulunur:
- ASP.NET Core Blazor WebAssembly ek güvenlik senaryoları
- ASP.NET Core ile Graph API kullanma Blazor WebAssembly
PKCE ile Yetkilendirme Kodu akışını kullanma
Microsoft identity platformunun JavaScript (MSAL) v2.0 veya üzeri için Microsoft Kimlik Doğrulama Kitaplığı, dahil olmak üzere Blazortek sayfalı uygulamalar için Kod Değişimi için Proof Key (PKCE) ve Çıkış Noktaları Arası Kaynak Paylaşımı (CORS) ile Yetkilendirme Kodu akışı için destek sağlar.
Microsoft örtük iznin kullanılmasını önermez.
Daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın:
- MSAL'de kimlik doğrulama akışı desteği: Örtük izin
- Microsoft identity platformu ve örtük izin akışı: Kimlik doğrulama kod akışını tercih edin
- Microsoft identity platformu ve OAuth 2.0 yetkilendirme kodu akışı
Ek kaynaklar
- Microsoft identity platformu belgeleri
- ASP.NET Core'u ara sunucular ve yük dengeleyicilerle çalışacak şekilde yapılandırma
- Ara sunucular ve iç ağlar arasında HTTPS şeması bilgilerini korumak için İletilen Üst Bilgiler Ara Yazılımını kullanma.
- El ile düzen yapılandırması, doğru istek yönlendirme için istek yolu değişiklikleri ve Linux ve IIS dışı ters ara sunucular için istek şemasını iletme gibi ek senaryolar ve kullanım örnekleri.
- Kimlik doğrulaması ile önceden giriş
- WebAssembly: Güvenlik
- WebAssembly Belirtimi: Güvenlikle İlgili Dikkat Edilmesi Gerekenler
ASP.NET Core