Spring Boot ve React ile Not Tutma Web Uygulaması — 2

Login Page

Uygulamaya giriş yapabilmek için giriş sayfasında veri tabanında kayıtlı olan kullanıcı adı ve parola bilgileri girilerek “Login” butonuna basılır ve giriş işlemi başarılı bir şekilde tamamlanarak kullanıcı notlarının yer aldığı sayfaya yönlendirme yapılır.

login page
Login Page

JWT Kullanımı

Backend kısmına gelen login isteğinde controller “authenticate” metodunu kullanır. Gelen kullanıcı adı veri tabanında yoksa hata fırlatılır. Eğer kullanıcı adı veri tabanında varsa şifrelenmiş parolanın doğruluğu kontrol edilir. Parola da doğruysa JWT kullanılarak bir token oluşturulur ve gelen isteğe yanıt olarak oluşturulan token ve kullanıcı bilgileri döndürülür.

jwt
JWT ile Token Oluşturma

Login isteğine cevap olarak “AuthResponse” sınıfı döner. Oluşturulan token ve user bilgilerini içeren “UserVM” sınıfı bu kısımda yer almaktadır.

spring boot auth response
Auth Response

Kullanıcının tüm bilgilerini cevap olarak göndermemek için “UserVM” sınıfı kullanılır. Burada sadece username ve fullName bilgisi yanıta eklenir.

spring boot user vm
User VM

Token Filter

Gelen isteklerde “TokenFilter” sınıfı çalışır ve eğer başlıkta “Authorization” kelimesi varsa token inceleme işlemi yapılır. İşlemler başarılı olursa kullanıcı token bilgisi doğrulanmış olur.

spring boot jwt token filter
Token Filter

Token Filter sınıfı içerisinde “getUserDetails” metodu kullanılır. Token içerisinden alınan kullanıcı id bilgisi bu sınıfta veri tabanı ile doğrulanır. Veri tabanında ilgili id bilgisine sahip bir kullanıcı yoksa işlem başarısız olur.

spring boot get user details
getUserDetails Metodu

--

--

--

Software Engineer

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Mustafa KAPLAN

Mustafa KAPLAN

Software Engineer

More from Medium

Topics: Mongodb overview, mongoose, mongodb queries

Using Lite Server to view changes to source code in real-time

Send Compressed Data From Spring Boot , Uncompress & read in ReactJS