{"id":26179281,"url":"https://github.com/bezkoder/spring-boot-security-postgresql","last_synced_at":"2025-06-24T00:34:33.026Z","repository":{"id":47024129,"uuid":"316920993","full_name":"bezkoder/spring-boot-security-postgresql","owner":"bezkoder","description":"Spring Boot, Spring Security, PostgreSQL: JWT Authentication \u0026 Authorization example","archived":false,"fork":false,"pushed_at":"2024-02-04T09:09:31.000Z","size":152,"stargazers_count":173,"open_issues_count":3,"forks_count":73,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-14T22:37:00.694Z","etag":null,"topics":["authentication","authorization","jwt-authentication","postgresql","spring-boot","spring-data-jpa","spring-security"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bezkoder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-11-29T09:57:27.000Z","updated_at":"2025-02-28T12:50:56.000Z","dependencies_parsed_at":"2024-02-04T10:25:26.718Z","dependency_job_id":"42381214-94d9-4d12-b115-b600c57c1208","html_url":"https://github.com/bezkoder/spring-boot-security-postgresql","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bezkoder/spring-boot-security-postgresql","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bezkoder%2Fspring-boot-security-postgresql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bezkoder%2Fspring-boot-security-postgresql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bezkoder%2Fspring-boot-security-postgresql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bezkoder%2Fspring-boot-security-postgresql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bezkoder","download_url":"https://codeload.github.com/bezkoder/spring-boot-security-postgresql/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bezkoder%2Fspring-boot-security-postgresql/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261583186,"owners_count":23180641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","authorization","jwt-authentication","postgresql","spring-boot","spring-data-jpa","spring-security"],"created_at":"2025-03-11T21:49:28.992Z","updated_at":"2025-06-24T00:34:33.005Z","avatar_url":"https://github.com/bezkoder.png","language":"Java","readme":"# Spring Boot, Spring Security, PostgreSQL: JWT Authentication \u0026 Authorization example\n\n## User Registration, User Login and Authorization process.\nThe diagram shows flow of how we implement User Registration, User Login and Authorization process.\n\n![spring-boot-spring-security-postgresql-jwt-authentication-flow](spring-boot-spring-security-postgresql-jwt-authentication-flow.png)\n\n## Spring Boot Server Architecture with Spring Security\nYou can have an overview of our Spring Boot Server with the diagram below:\n\n![spring-boot-spring-security-postgresql-jwt-authentication-architecture](spring-boot-spring-security-postgresql-jwt-authentication-architecture.png)\n\n## Configure Spring Datasource, JPA, App properties\nOpen `src/main/resources/application.properties`\n\n```\nspring.datasource.url= jdbc:postgresql://localhost:5432/testdb\nspring.datasource.username= postgres\nspring.datasource.password= 123\n\nspring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation= true\nspring.jpa.properties.hibernate.dialect= org.hibernate.dialect.PostgreSQLDialect\n\n# Hibernate ddl auto (create, create-drop, validate, update)\nspring.jpa.hibernate.ddl-auto= update\n\n# App Properties\nbezkoder.app.jwtSecret= ======================BezKoder=Spring===========================\nbezkoder.app.jwtExpirationMs= 86400000\n```\n\n## Run Spring Boot application\n```\nmvn spring-boot:run\n```\n\n## Run following SQL insert statements\n```\nINSERT INTO roles(name) VALUES('ROLE_USER');\nINSERT INTO roles(name) VALUES('ROLE_MODERATOR');\nINSERT INTO roles(name) VALUES('ROLE_ADMIN');\n```\n\nFor more detail, please visit:\n\u003e [Spring Boot, Spring Security, PostgreSQL: JWT Authentication \u0026 Authorization example](https://bezkoder.com/spring-boot-security-postgresql-jwt-authentication/)\n\n\u003e [For MySQL](https://bezkoder.com/spring-boot-jwt-authentication/)\n\n\u003e [For MongoDB](https://bezkoder.com/spring-boot-jwt-auth-mongodb/)\n\n## Refresh Token\n\n![spring-boot-refresh-token-jwt-example-flow](spring-boot-refresh-token-jwt-example-flow.png)\n\nFor instruction: [Spring Boot Refresh Token with JWT example](https://bezkoder.com/spring-boot-refresh-token-jwt/)\n\n## More Practice:\n\u003e [Spring Boot File upload example with Multipart File](https://bezkoder.com/spring-boot-file-upload/)\n\n\u003e [Exception handling: @RestControllerAdvice example in Spring Boot](https://bezkoder.com/spring-boot-restcontrolleradvice/)\n\n\u003e [Spring Boot Repository Unit Test with @DataJpaTest](https://bezkoder.com/spring-boot-unit-test-jpa-repo-datajpatest/)\n\n\u003e [Spring Boot Rest Controller Unit Test with @WebMvcTest](https://www.bezkoder.com/spring-boot-webmvctest/)\n\n\u003e [Spring Boot Pagination \u0026 Sorting example](https://www.bezkoder.com/spring-boot-pagination-sorting-example/)\n\n\u003e Validation: [Spring Boot Validate Request Body](https://www.bezkoder.com/spring-boot-validate-request-body/)\n\n\u003e Documentation: [Spring Boot and Swagger 3 example](https://www.bezkoder.com/spring-boot-swagger-3/)\n\n\u003e Caching: [Spring Boot Redis Cache example](https://www.bezkoder.com/spring-boot-redis-cache-example/)\n\nAssociations:\n\u003e [Spring Boot One To Many example with Spring JPA, Hibernate](https://www.bezkoder.com/jpa-one-to-many/)\n\n\u003e [Spring Boot Many To Many example with Spring JPA, Hibernate](https://www.bezkoder.com/jpa-many-to-many/)\n\n\u003e [JPA One To One example with Spring Boot](https://www.bezkoder.com/jpa-one-to-one/)\n\n## Fullstack Authentication\n\n\u003e [Spring Boot + Vue.js JWT Authentication](https://bezkoder.com/spring-boot-vue-js-authentication-jwt-spring-security/)\n\n\u003e [Spring Boot + Angular 8 JWT Authentication](https://bezkoder.com/angular-spring-boot-jwt-auth/)\n\n\u003e [Spring Boot + Angular 10 JWT Authentication](https://bezkoder.com/angular-10-spring-boot-jwt-auth/)\n\n\u003e [Spring Boot + Angular 11 JWT Authentication](https://bezkoder.com/angular-11-spring-boot-jwt-auth/)\n\n\u003e [Spring Boot + Angular 12 JWT Authentication](https://www.bezkoder.com/angular-12-spring-boot-jwt-auth/)\n\n\u003e [Spring Boot + Angular 13 JWT Authentication](https://www.bezkoder.com/angular-13-spring-boot-jwt-auth/)\n\n\u003e [Spring Boot + Angular 14 JWT Authentication](https://www.bezkoder.com/angular-14-spring-boot-jwt-auth/)\n\n\u003e [Spring Boot + Angular 15 JWT Authentication](https://www.bezkoder.com/angular-15-spring-boot-jwt-auth/)\n\n\u003e [Spring Boot + Angular 16 JWT Authentication](https://www.bezkoder.com/angular-16-spring-boot-jwt-auth/)\n\n\u003e [Spring Boot + Angular 17 JWT Authentication](https://www.bezkoder.com/angular-17-spring-boot-jwt-auth/)\n\n\u003e [Spring Boot + React JWT Authentication](https://bezkoder.com/spring-boot-react-jwt-auth/)\n\n## Fullstack CRUD App\n\n\u003e [Vue.js + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-vue-js-postgresql/)\n\n\u003e [Angular 8 + Spring Boot + PostgreSQL example](https://bezkoder.com/angular-spring-boot-postgresql/)\n\n\u003e [Angular 10 + Spring Boot + PostgreSQL example](https://bezkoder.com/angular-10-spring-boot-postgresql/)\n\n\u003e [Angular 11 + Spring Boot + PostgreSQL example](https://bezkoder.com/angular-11-spring-boot-postgresql/)\n\n\u003e [Angular 12 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/angular-12-spring-boot-postgresql/)\n\n\u003e [Angular 13 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-angular-13-postgresql/)\n\n\u003e [Angular 14 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-angular-14-postgresql/)\n\n\u003e [Angular 15 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-angular-15-postgresql/)\n\n\u003e [Angular 16 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-angular-16-postgresql/)\n\n\u003e [Angular 17 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-angular-17-postgresql/)\n\n\u003e [React + Spring Boot + PostgreSQL example](https://bezkoder.com/spring-boot-react-postgresql/)\n\nRun both Back-end \u0026 Front-end in one place:\n\u003e [Integrate Angular with Spring Boot Rest API](https://bezkoder.com/integrate-angular-spring-boot/)\n\n\u003e [Integrate React.js with Spring Boot Rest API](https://bezkoder.com/integrate-reactjs-spring-boot/)\n\n\u003e [Integrate Vue.js with Spring Boot Rest API](https://bezkoder.com/integrate-vue-spring-boot/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbezkoder%2Fspring-boot-security-postgresql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbezkoder%2Fspring-boot-security-postgresql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbezkoder%2Fspring-boot-security-postgresql/lists"}