Takip et

ASP.NET Core API’lerini OAuth2 ve OpenID Connect ile Güvenliğe Alma (2025)

ASP.NET Core API’lerini OAuth2 ve OpenID Connect ile Güvenliğe Alma (2025)

Merhaba! Bu makalede, ASP.NET Core API’lerinizi OAuth 2.0 ve OpenID Connect (OIDC) kullanarak nasıl güvenli hale getirebileceğinizi adım adım açıklayacağım. 2025 yılına uygun güncellemeleri ve pratik örnekleri de içeren bu rehber, uygulamalarınızın güvenliğini sağlamanıza yardımcı olacaktır. Öncelikle, OAuth 2.0 ve OIDC’nin ne olduğunu ve neden önemli olduklarını kısaca hatırlayalım.

OAuth 2.0 ve OpenID Connect (OIDC): Neden Önemli?

OAuth 2.0, kullanıcıların kaynaklara erişim sağlamalarına olanak tanıyan bir yetkilendirme protokolüdür. Kısaca, kullanıcı adlarını ve şifrelerini doğrudan API’nize göndermek yerine, bir yetkilendirme sunucusu aracılığıyla bu erişimi sağlar. Bu, güvenliğinizi büyük ölçüde artırır. OIDC ise OAuth 2.0 üzerine inşa edilmiş bir kimlik doğrulama katmanıdır. Kullanıcının kimliğini doğruladıktan sonra, OIDC, kullanıcının kimlik bilgilerini içeren bir JSON Web Token (JWT) verir. Bu JWT, API’niz tarafından, kullanıcıyı kimlik doğrulamak ve yetkilendirmek için kullanılır.

ASP.NET Core’da OAuth 2.0 ve OIDC Yapılandırması

Şimdi, ASP.NET Core projenizde OAuth 2.0 ve OIDC’yi nasıl yapılandıracağınızı inceleyelim. İlk adım, bir kimlik sağlayıcısı (Identity Provider – IdP) seçmektir. Popüler seçenekler arasında Azure Active Directory, Auth0 ve Google gibi hizmetler bulunur. Bu örnekte, Azure Active Directory kullanacağız.

Öncelikle, projenize Microsoft.AspNetCore.Authentication.JwtBearer NuGet paketini eklemeniz gerekir. Daha sonra, Startup.cs dosyanızda aşağıdaki gibi yapılandırma işlemlerini gerçekleştirmeniz gerekmektedir:


services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    .AddJwtBearer(options =>
    {
        options.Authority = "https://your-azure-ad-tenant.onmicrosoft.com/{your-tenant-id}";
        options.Audience = "{your-api-application-id}";
    });

Bu kod bloğu, Azure Active Directory’den gelen JWT token’larını doğrulayacak şekilde uygulamanızı yapılandırır. your-azure-ad-tenant.onmicrosoft.com ve {your-tenant-id} kısımlarını kendi Azure AD bilgilerinizle değiştirmeniz gerekmektedir. Benzer şekilde, {your-api-application-id} kısımını da API uygulamanızın uygulama kimliği ile değiştirmelisiniz. Bu yapılandırmadan sonra, API’leriniz güvenle korunmuş olacaktır.

JWT Token Doğrulama ve Yetkilendirme

JWT token’ı doğruladıktan sonra, API’nizdeki controller’larınızda yetkilendirme işlemlerini gerçekleştirmeniz gerekmektedir. Bu, [Authorize] özniteliğini kullanarak yapılabilir. Örneğin:


[Authorize]
[HttpGet]
public IActionResult GetSecretData()
{
    // Gizli verilere erişim sağlayın
    return Ok("Gizli Veriler");
}

Bu kod bloğu, GetSecretData aksiyonunun yalnızca geçerli bir JWT token’ı olan kullanıcılar tarafından erişilebilir olmasını sağlar. Ayrıca, daha detaylı yetkilendirme senaryoları için, rol tabanlı yetkilendirme gibi daha gelişmiş teknikleri de kullanabilirsiniz. Daha fazla bilgi için fatihsoysal.com adresini ziyaret edebilirsiniz.

Sonuç

Bu makalede, ASP.NET Core API’lerinizi OAuth 2.0 ve OIDC kullanarak güvenliğe alma konusunda temel adımları ve bazı ipuçlarını inceledik. Uygulamanızın güvenliğini sağlamak için bu adımları dikkatlice uygulamanız ve güvenlik açıklarını önlemek için düzenli güvenlik denetimleri yapmanız önemlidir. Unutmayın ki, güvenlik sürekli bir süreçtir ve gelişen tehditlere karşı her zaman güncel kalmalısınız. Bu rehber, 2025 yılı itibariyle güncel bilgileri içermektedir, ancak gelecekteki güncellemeler için daima resmi Microsoft dokümanlarını kontrol etmenizi öneririm.

#Etiketler: ASP.NET Core, OAuth2, OpenID Connect, API Güvenliği, Kimlik Doğrulama, Yetkilendirme, JWT, Azure Active Directory, Güvenlik, .NET, 2025, Fatih Soysal


Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.