How java-techie-jt/spring-security-jwt-example works
This Spring Boot application demonstrates username/password authentication that issues signed JWTs, followed by bearer-token authentication on protected requests. The main flow is POST /authenticate → Spring’s authentication manager → user lookup → JWT issuance; subsequent requests pass through the configured JWT filter, which validates the token and sets the security context before authorization. Startup also seeds example users. The README offers no detailed capability map, so this view follows the sampled runtime code; framework dispatch and persistence configuration details are not fully shown.
Main entry points: WelcomeController.java Welcome Controller · SecurityConfig.java Security Configuration · JwtFilter.java JWT Filter · UserRepository.java User Repository
Components 13
HTTP API
- Application Startup
src/main/java/com/javatechie/jwt/api/SpringSecurityJwtExampleApplication.java - Welcome Controller
src/main/java/com/javatechie/jwt/api/controller/WelcomeController.java - Auth Request
src/main/java/com/javatechie/jwt/api/entity/AuthRequest.java
JWT Security
- Security Configuration
src/main/java/com/javatechie/jwt/api/config/SecurityConfig.java - Authentication Manager
- JWT Filter
src/main/java/com/javatechie/jwt/api/filter/JwtFilter.java - JWT Utilities
src/main/java/com/javatechie/jwt/api/util/JwtUtil.java - Security Context
User Data
- User Details Service
src/main/java/com/javatechie/jwt/api/service/CustomUserDetailsService.java - User Entity
src/main/java/com/javatechie/jwt/api/entity/User.java - User Repository
src/main/java/com/javatechie/jwt/api/repository/UserRepository.java - User Database
Other components
- API Client
Connections 17
- API Client → Welcome Controller: sends requests
- Welcome Controller → Auth Request: binds credentials
- Welcome Controller → Authentication Manager: authenticates
- Authentication Manager → User Details Service: loads user
- User Details Service → User Repository: looks up username
- User Repository → User Database: reads users
- Application Startup → User Repository: seeds users
- User Repository → User Database: writes users
- Welcome Controller → JWT Utilities: generates token
- Welcome Controller → API Client: returns token
- Security Configuration → Authentication Manager: configures authentication
- Security Configuration → User Details Service: registers user lookup
- Security Configuration → JWT Filter: installs filter
- JWT Filter → JWT Utilities: extracts and validates
- JWT Filter → User Details Service: loads token user
- JWT Filter → Security Context: sets authentication
- Security Configuration → Welcome Controller: protects routes