.NET Core Swagger ve JWT Token

Loading

Swagger

Yazdığımız web servislerde hangi kullanılan methodlar ve paramereleri bunun yanında testler ve sonuçları sık yapılan işlerimiz arasındadır ve bunların yanında güncelleme yapıldığında onun son halinin kullanıcıya yansıması oldukça önemlidir. İşte bütün bunları bize sağlayan Swagger API ler için kullanışlı ve görsel bir arayüz sunmaktadır.

Swagger , uygulamalarımızın kodlarına erişmeden RestApi lerin özelliklerini görmesine, incelemesine ve anlamasına olanak sağlar. Dinamik bir dokumasyon aracıdır yani yeni bir controller yada method eklediğinizde onları json dosyasında tutar parametreleri ile beraber görsel oalrak Swagger-UI ile bize sunar.

Swagger’ ı .NetCore projemize entegre etmek için öncelikle Swashbuckle.AspNetCore NuGet paketini kuruyoruz. Son versiyonlarda(.Net 8.0 gibi) API projesi oluştururken ekli halde gelmektedir.

Eski versiyonlar için yada nereye hangi kodların yazılması gerekitiği bilinilmesi için adım adım bakalım.

Önce , program.cs içerisine AddSwaggerGen() ekliyoruz ama burdada version . title , shema gibi ayarlamaları aşağıdaki giib yapıyoruz

Sonra hemen altında request kodları ayzılır aşağıda;

Not: Eski versiyonlarda Startup.cs içerisinde ConfigureServices e services.AddSwaggerGen() ve Configure da app.UseSwagger() ve app.UseSwaggerUI() yazılır.

Sonra çalıştırıdğında Actionlarla beraber görsel arayüz gelecektir

Execute yaptığında da sonucu gösterecektir

JWT Token

JSON Web Token (JWT), web uygulamaları için güvenli bir yetkilendirme yöntemidir. JWT, kullanıcı yetkilendirmesi ile ilgili bilgileri içeren token şeklinde verileri taşır ve bu verileri kullanarak uygulamalar arasında güvenli bir şekilde veri akışı sağlar. JWT, header, payload ve signature oluşur.

Bu bölümlerin kısaca ne anlama geldiklerine bakalım.

Header: Algoritma ve token tipini belirtir. Aşağıdaki şekilde iki tane değer alır. Burada dikkat etmemiz gereken kısım ise hangi algoritmayı kullanacağımızdır.

Payload: Kullanıcı bilgileri ve ek bilgiler içerir. Burada dilediğiniz bilgileri tutmanızı sağlar. Kullanıcının token’da tutulmasını istediğiniz bilgileri girebiliriniz.

Signature: Token’ın bütünlüğünü doğrulamak için kullanılır. Bu kısım, gelen token’ı doğrulamak için kullanılır. İstek atıldığınıda header’daki değeri alır ve sizin belirlediğiniz gizli kelimeyle belirlediğiniz algoritmaya göre çözümlemeye çalışır.

Önce Microsoft.AspNetCore.Authentication.JwtBearer V_7.0 paketini kuruyoruz

Sonra Program.cs de ayarların yapıldığı kod bloğunu yazadım aşağıda;

AddJwtBearer login olunduğunda Token oluşturan middleware ekler.

Sonra controller ekleyerek login olduktan sonra Token oluşturulan kodları yazdım aşağıda;

Oluşan Token:

Tabi ben burada konu uzamaması için gerçek zamanlı bir login, register işlemi yapmadım.

Kodlara adresinden ulaşabilirisniz.

Sağlıcakla kalın…..

Bir yanıt yazın

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

Mesut Yiğit

Kaliteli bilgilerin bulunduğu, paylaşımcı ve her daim geliştirici bir öğrenimin benimsendiği Teknik ve diğer konularda kendime ve geleceğe notlar