Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
18 yazı bulundu
API'yi Korumak: Access Token Doğrulama, Audience, Scope Policy'leri, Client Credentials ve DPoP
Güvenlik SERİ 13

API'yi Korumak: Access Token Doğrulama, Audience, Scope Policy'leri, Client Credentials ve DPoP

API, imzası geçerli her token'ı değil, yalnız kendi audience'ı için verilmiş ve gereken scope'u taşıyan token'ı kabul etmelidir. AddJwtBearer'ı Keycloak'a bağlıyor, scope'tan policy'ye eşliyor, çıkış yapan kullanıcının JWT'sinin neden hâlâ geçtiğini introspection ile gösteriyor, client credentials token'ını cache'leyen bir DelegatingHandler yazıyor ve DPoP ile çalınan token'ın işe yaramadığını beş senaryoda doğruluyoruz.

8 Kas 2026 13 dk 3
SPA için BFF Pattern: Angular + ASP.NET Core + YARP ile RFC 10017'nin Önerdiği Mimari
Güvenlik SERİ 14

SPA için BFF Pattern: Angular + ASP.NET Core + YARP ile RFC 10017'nin Önerdiği Mimari

Token'ı tarayıcıda hiçbir yerde güvenle saklayamazsın; RFC 10017'nin en güvenli bulduğu çözüm token'ları sunucuda tutan BFF'tir. ASP.NET Core 10'da OIDC ve cookie oturumu, YARP ile API'ye giderken token ekleme, BFF içinde token yenileme, özel header ile CSRF savunması ve XHR uyumlu logout kuruyor; Angular'ın token görmediğini curl çıktılarıyla doğruluyor, maliyetleri ve sınırları tartışıyoruz.

8 Kas 2026 12 dk 5
Authorization Server Seçimi: OpenIddict, Duende IdentityServer, Keycloak ve Microsoft Entra ID Karşılaştırması
Güvenlik SERİ 15

Authorization Server Seçimi: OpenIddict, Duende IdentityServer, Keycloak ve Microsoft Entra ID Karşılaştırması

Doğru authorization server ekibinin neyi işletebileceğine bağlıdır: OpenIddict ve Duende framework, Keycloak ürün, Entra ID managed servis. Üçünü lab'da çalıştırıp discovery dokümanlarından bir yetenek matrisi çıkarıyor, bu matrisin neden dikkatli okunması gerektiğini gösteriyor; lisansları, işletme yükünü, SAML köprüsünü ve kendi authorization server'ını yazmamanın nedenlerini Kasım 2026 bilgisiyle karşılaştırıyoruz.

8 Kas 2026 10 dk 5
Authorization Modelleri: RBAC, ABAC, ReBAC ve Permission Tabanlı Tasarım, Multi-Tenant Senaryolar
Güvenlik SERİ 16

Authorization Modelleri: RBAC, ABAC, ReBAC ve Permission Tabanlı Tasarım, Multi-Tenant Senaryolar

Rolleri koşullarla doldurmak rol patlamasına götürür; çözüm RBAC, ABAC ve ReBAC'ı katman olarak kullanmaktır. Rolü permission paketine indiriyor, iade kuralını tenant, limit ve zaman attribute'larıyla gerekçeli kararlar veren bir policy olarak yazıyor, Zanzibar fikrini oyuncak bir ilişki grafiğiyle gösteriyor ve hepsini testlerle sabitliyoruz; permission'ın token'a konup konmayacağını, tenant claim'ini ve impersonation denetimini tartışıyoruz.

8 Kas 2026 11 dk 5
Angular'da Authentication State: Functional Guard'lar, Interceptor, Tek Seferlik Token Refresh ve UI Yetkilendirmesi
Güvenlik SERİ 17

Angular'da Authentication State: Functional Guard'lar, Interceptor, Tek Seferlik Token Refresh ve UI Yetkilendirmesi

Angular'daki guard ve gizli butonlar güvenlik sınırı değil, kullanıcı deneyimidir; asıl karar API'de verilir. Signal tabanlı bir auth state service, canMatch guard'ları, permission directive'i, eşzamanlı 401'leri tek refresh'e bağlayan bir interceptor ve BroadcastChannel ile sekmeler arası çıkış yazıyor, hepsini Vitest ile sınıyor ve guard'ı atlayan bir isteğin API'de 403 aldığını gösteriyoruz.

8 Kas 2026 12 dk 4
ASP.NET Core 6'dan 11'e Authentication ve Identity'de Değişenler
Güvenlik SERİ 18

ASP.NET Core 6'dan 11'e Authentication ve Identity'de Değişenler

ASP.NET Core 6'dan 10'a authentication'daki en önemli değişiklikler derleme hatası vermez, davranışı sessizce değiştirir. Aynı kodu .NET 6, 8 ve 10'da çalıştırıp tek scheme'in varsayılan olmasını, SecurityToken'ın JsonWebToken'a dönmesini, cookie'nin API'de 302 yerine 401 vermesini ve yeni metrikleri gösteriyor; .NET 9'un PAR'ını, .NET 11'in TimeProvider, passkey adı ve DBSC yeniliklerini ve bir geçiş kontrol listesini veriyoruz.

8 Kas 2026 10 dk 5
Blog Haritası