ASP.NET Core 3.1 Web API – JWT Authentication Kullanımı

Merhabalar bu makalede .Net Core 3.1 versiyonu ile bir Web API örnek projede JWT (JSON Web Token) kimlik doğrulama yapısını inceleyeceğim. Daha önceki Web API makalelerine buradan ulaşabilirsiniz. Uygulama dosyalarını aspnetcore-3-1-web-api-jwt Github adresinde bulabilirsiniz.

ASP.NET Core Web API – User Entity

Kullanıcı bilgilerini taşıdığımız user sınıfını oluşturuyorum. Entity yapıları uygulamanın farklı bölümlerinde veri iletimi için kullanılır. Ayrıca controller yardımıyla http yanıtlarını döndürmek içinde kullanılabilmektedir. Bu sınıfı veritabanındaki User tablosu olarak düşünebilirsiniz. Entities sınfıları Entityframework ile Code First yaklaşımında veritabanı tablolarını oluşturmak için kullandığımız sınıflarıdır. Not: Entities yapılarında kısıtlı veri döndürmek istendiğinde Models klasöründe ihtiyaca yönelik sınıflar kullanılmalıdır.

ASP.NET Core Web API – Item Entity

Ürün bilgilerini tuttuğumuz Item sınıfını veritabanında Item tablosu olarak düşünebilirsiniz.

ASP.NET Core Web API – AuthModel

AuthModel token bilgisi almak için istemcinin göndermiş olduğu istekte User sınıfının sadece username ve password bilgisini parametre olarak göndermesi için kısıtlı bir sınıftır.

ASP.NET Core Web API – Startup

Startup ​​sınıfı, uygulamanın tüm isteklerin nasıl işleneceğini yapılandırdığımız sınıftır.

ASP.NET Core Web API – UserService

UserService sınıfında IUserService interface dosyasından implement ettikten sonra statik olarak bir User listesi dolduruyorum. Bu User verisi ile Authenticate metodunda UserName ve Password kontrolü ile user nesnesi geriye döndürüyorum.

ASP.NET Core Web API – ItemService

ItemService sınıfınıd IItemService interface dosyasından implemente ediyorum. Bu sınıfta ürünler listesini geri döndüreceğimiz metodu yazalım.

ASP.NET Core Web API – ItemController

ItemController sınıfı [Authorize] attribute ile yetkilendirildiği için UserName ve Password gönderilerek işlem yapılabilir.

ASP.NET Core Web API – UserController

Not: Tüm controller sınıfının [Authorize] attribute ile yetkilendirilmesi yanlızca [AllowAnonymous] attribute içeren metotları kapsamamaktadır. Çünkü [AllowAnonymous] attribute içeren metotlar [Authorize] attribute yapısını ezmektedir.

ASP.NET Core Web API – AppSettings

ASP.NET Core Web API – appsettings.json

Sosyal medyada paylaşabilirsiniz..

Murat Süzen Hakkında

Tüm yazılarını gör

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir