Since .netCore released I couldn’t find much information about how to implement either oauth2 or openId .I found identityServer4 easy to create an authorization server and did an example how to set it up. I hope this article will be helpful for some who is looking for what it is and how to implement identityserver4 along with refreshtoken on the .net core 2. So,what is IdentityServer4 ? IdentityServer4 is an OpenID Connect and OAuth 2.0 framework for ASP.NET Core. It is free and also has support for commercial uses.We’ll be creating hybrid authentication flow to implement refresh token using grant types Resource Owner Password Credentials(ROPC) and Refresh Token. I won’t be explaining all protocols here. If you need further information you can checkout IdentityServer4 ,OAuth2 and OpenId. Let’s dig into some coding.
Category: C#
Web Api Bearer Token Authentication
Bu makalemde front-end ve back-end arasında web api bearer token authentication kullanımından bahsetmek istiyorum. İlk olarak nedir bu token diyerek başlayıp avantajlarından bahsettikten sonra örnek bir ASP .NET Web Api Üzerinden uygulama ile devam edeceğim.
Nedir Bu Token ve Avantajları ?
Kısaca özetlemek gerekirse token’ı anahtar olarak düşünebiliriz. Yani biz back-end serverımıza kullanıcı adımızı ve şifremizi doğrulamak için gönderdiğimizde bize bu doğrulamaya karşılık bir token ( Anahtar ) veriyor. Sonrasında istek gerçekleştirmek istediğimizde bizden kullanıcı adı şifre yerine bu anahtarı bekliyor ve gerekli güvenlik kontrollerini sağlıyor. Burada böyle bir yapının kullanılmasının bize sağladığı avantajlardan başlıcaları;
.Net – NLog Kullanımı ( Error – System Logging )
Merhaba arkadaşlar,uygulama geliştirirken hata yönetimi konusunun önemi bir hayli fazla. Kullanıcının karşılaştığı hataların saklanması bize bu hataların çözümünde büyük bir kolaylık sağlayacaktır. Ben projelerimde kullandığım bir framework olan NLog’tan bahsetmek istiyorum.Bu arada free olması da bir hayli cezbedici. Ayrıca kullanışlı ve kurulumu da bir o kadar kolay. NLog ile bir hata oluştuğu durumda yapabileceklerinizden bahsetmek gerekirse; mail atabilirsiniz,dosyaya yazabilirsiniz, veritabanına ekleyebilirsiniz , console’a çıktı alabilirsiniz ve daha bir çok sağlayıcı ile kullanabilirsiniz. Ben bu makalemde dosyaya saklama işleminden bahsetmek istiyorum. Örnek uygulama için bir konsol projesi oluşturup bu projede genel hata yönetimi entegrasyonunu yapacağız. Şimdi bir örnek ile başlayalım…
Boş bir proje oluşturalım.
Web Api Simple Injector Dependcy Resolver
Merhaba arkadaşlar bu makalemde Web Api servisimize bir IOC (Inversion Of Control ) framework’u olan Simple Injector implementasyonundan bahsetmek istiyorum. Dependcy injection nedir makalemde IOC prensibi uygulama yöntemlerinden biri olan DI(Dependcy Injection) hakkında konuşmuştuk. Bu makalemde ise Simple Injector framework’u ile bu dependcylerin birbirleri ile olan bağımlılıklarının çözülmesinden ve yaşam ömürlerinden bahsetmek istiyorum.
.NET Fluent Validation ( Model Kontrolü )
Bu makalede .NET için ek bir Nuget paket halinde bulunan Model kontrol için geliştirilmiş fluent interface ve lambda expression desteği olan güzel bir eklentiden bahsetmek istiyorum. Daha önce MVC yada herhangi benzeri Model Driven Architecture (MDA) prensibiyle uygulama geliştirdiyseniz bu mimarilerde Model’lar için validation ASP.NET core’u içerisinde yer alan Data Annotions ile yapılabilmekte. Fakat bu yöntem ile validation yapıldığı zaman model sayısı arttığında daha karmaşık ve yönetimi zor bir yapı oluşmakta. Bunun yerine validation katmanını business layer’a taşıyıp tek bir yerden kontrolün yapılması ve model domain’in temiz kalması daha kontrol edilebilir bir yapı sağlamakta. Continue reading
Dependcy Injection nedir ( C# ) Ornek? ( IOC )
Dependcy Injection (DI) nedir ? Açıklama ve Örnek uygulama.
Biz yazılımcı arkadaşların genelde yazılım geliştirme denince olayı kodlama olarak düşünüp bir anda başlayıp sonunu getiremediğimiz bir çok proje olmuştur. Tasarım sürecine ayrılan zamanın kayıp olduğunu düşünmek yapılan en büyük hatalardan sadece bir tanesi. Programda tasarım sürecinin kısa tutulması, isteklerin ne doğrultuda geleceğinin iyi değerlendirilmemesi sonucunda karmaşık yapılar içerisine girmek, her istek için kodun farklı yerlerini değiştirmek bu süreci böyle devam ettirirken projemizin doğru çalıştığını varsaymak ve devam etmek ilerde çok büyük sorunlara neden olmaktadır.
Dependcy Injection hakkında konuşmadan önce hangi problemleri çözdüğünü konuşalım,