Spring Boot, Spring Security, PostgreSQL: JWT Authentication & Authorization example
User Registration, User Login and Authorization process.
The diagram shows flow of how we implement User Registration, User Login and Authorization process.
Spring Boot Server Architecture with Spring Security
You can have an overview of our Spring Boot Server with the diagram below:
Configure Spring Datasource, JPA, App properties
Open src/main/resources/application.properties
spring.datasource.url= jdbc:postgresql://localhost:5432/testdb
spring.datasource.username= postgres
spring.datasource.password= 123
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation= true
spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.PostgreSQLDialect
# Hibernate ddl auto (create, create-drop, validate, update)
spring.jpa.hibernate.ddl-auto= update
# App Properties
bezkoder.app.jwtSecret= ======================BezKoder=Spring===========================
bezkoder.app.jwtExpirationMs= 86400000
Run Spring Boot application
mvn spring-boot:run
Run following SQL insert statements
INSERT INTO roles(name) VALUES('ROLE_USER');
INSERT INTO roles(name) VALUES('ROLE_MODERATOR');
INSERT INTO roles(name) VALUES('ROLE_ADMIN');
For more detail, please visit:
Spring Boot, Spring Security, PostgreSQL: JWT Authentication & Authorization example
Refresh Token
For instruction: Spring Boot Refresh Token with JWT example
More Practice:
Exception handling: @RestControllerAdvice example in Spring Boot
Validation: Spring Boot Validate Request Body
Documentation: Spring Boot and Swagger 3 example
Caching: Spring Boot Redis Cache example
Associations:
Fullstack Authentication
Fullstack CRUD App
Run both Back-end & Front-end in one place: