Spring Boot'te JWT (JSON Web Token) kullanımı için aşağıdaki adımlar izlenmelidir:
- Gerekli Bağımlılıkların Eklenmesi: pom.xml dosyasına
spring-boot-starter-security
vejjwt
bağımlılıkları eklenmelidir 12. - Spring Security Yapılandırması:
WebSecurityConfigurerAdapter
sınıfını genişleten bir sınıf oluşturulmalı veconfigure(HttpSecurity http)
yöntemi içinde güvenlik kuralları ve JWT authentication ayarları yapılmalıdır 13. - JWT Yardımcı Sınıfı Oluşturulması: JWT tokenlarının oluşturulması, doğrulanması ve ayrıştırılması için bir yardımcı sınıf yazılmalıdır 12.
- Kullanıcı Kimlik Doğrulaması:
UserDetails
arayüzünü uygulayan bir kullanıcı sınıfı oluşturulmalı ve bu sınıf, kullanıcı bilgilerini içermelidir 13. - JWT Tokenlarının Oluşturulması: Kullanıcı başarılı bir şekilde giriş yaptığında, ilgili kullanıcı bilgilerini içeren bir JWT tokenı oluşturulmalıdır 13.
- Uç Noktaların Güvenliği: Kontrolör sınıflarında veya metodlarında,
@PreAuthorize
veya benzeri annotations kullanılarak JWT tokenının varlığı, geçerliliği ve rol iddialarına göre erişim kontrolü sağlanmalıdır 1. - Token Doğrulama ve Kullanıcı Bilgilerinin Çıkarılması: Gelen her isteğin JWT tokenı doğrulanmalı, kullanıcı bilgileri (username, roles) çıkarılmalı ve bu bilgiler kullanılarak yetkilendirme kontrolleri yapılmalıdır 13.
5 kaynaktan alınan bilgiyle göre: