├── .gitignore ├── LICENSE.txt ├── README.md ├── docker-compose.yml ├── generate_keys.sh ├── pom.xml └── src ├── main ├── java │ └── dev │ │ └── chijiokeibekwe │ │ └── jwtsecurity │ │ ├── JwtSecurityApplication.java │ │ ├── auth │ │ ├── CustomGrantedAuthoritiesConverter.java │ │ ├── CustomUserDetailsService.java │ │ └── DelegatedAuthenticationEntryPoint.java │ │ ├── common │ │ └── ResponseObject.java │ │ ├── config │ │ ├── BeanConfig.java │ │ ├── JpaAuditingConfig.java │ │ ├── OpenAPIConfig.java │ │ ├── SecurityConfig.java │ │ └── properties │ │ │ └── RsaKeyProperties.java │ │ ├── controller │ │ ├── AuthenticationController.java │ │ └── UserController.java │ │ ├── dto │ │ ├── CustomUserDetails.java │ │ ├── request │ │ │ ├── AuthenticationRequest.java │ │ │ └── UserRegistrationRequest.java │ │ └── response │ │ │ ├── AuthenticationResponse.java │ │ │ ├── RoleResponse.java │ │ │ └── UserResponse.java │ │ ├── entity │ │ ├── BaseEntity.java │ │ ├── Permission.java │ │ ├── Role.java │ │ ├── User.java │ │ └── converter │ │ │ └── RoleNameConverter.java │ │ ├── enums │ │ ├── ResponseStatus.java │ │ ├── RoleName.java │ │ └── UserType.java │ │ ├── exception │ │ └── CustomExceptionHandler.java │ │ ├── mapper │ │ └── Mapper.java │ │ ├── repository │ │ ├── RoleRepository.java │ │ └── UserRepository.java │ │ ├── service │ │ ├── AuthenticationService.java │ │ ├── JwtService.java │ │ ├── RoleService.java │ │ ├── UserService.java │ │ └── impl │ │ │ ├── AuthenticationServiceImpl.java │ │ │ ├── JwtServiceImpl.java │ │ │ ├── RoleServiceImpl.java │ │ │ └── UserServiceImpl.java │ │ └── util │ │ └── PageImplJacksonSerializer.java └── resources │ ├── application.yml │ └── db │ ├── changelog-master.yaml │ ├── changelog │ ├── v1-init-data.sql │ └── v1-init-db.sql │ └── erd.png └── test ├── java └── dev │ └── chijiokeibekwe │ └── jwtsecurity │ ├── JwtSecurityApplicationTests.java │ ├── annotation │ └── WithMockAdmin.java │ ├── config │ └── WithMockUserSecurityContextFactory.java │ ├── controller │ ├── AuthenticationControllerTest.java │ └── UserControllerTest.java │ ├── repository │ ├── RoleRepositoryTest.java │ └── UserRepositoryTest.java │ ├── service │ ├── AuthenticationServiceTest.java │ ├── JwtServiceTest.java │ └── UserServiceTest.java │ └── util │ └── TestUtil.java └── resources ├── application.yml └── certs ├── private.pem └── public.pem /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /generate_keys.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/generate_keys.sh -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/JwtSecurityApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/JwtSecurityApplication.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/auth/CustomGrantedAuthoritiesConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/auth/CustomGrantedAuthoritiesConverter.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/auth/CustomUserDetailsService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/auth/CustomUserDetailsService.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/auth/DelegatedAuthenticationEntryPoint.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/auth/DelegatedAuthenticationEntryPoint.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/common/ResponseObject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/common/ResponseObject.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/config/BeanConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/config/BeanConfig.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/config/JpaAuditingConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/config/JpaAuditingConfig.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/config/OpenAPIConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/config/OpenAPIConfig.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/config/SecurityConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/config/SecurityConfig.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/config/properties/RsaKeyProperties.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/config/properties/RsaKeyProperties.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/controller/AuthenticationController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/controller/AuthenticationController.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/controller/UserController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/controller/UserController.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/dto/CustomUserDetails.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/dto/CustomUserDetails.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/dto/request/AuthenticationRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/dto/request/AuthenticationRequest.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/dto/request/UserRegistrationRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/dto/request/UserRegistrationRequest.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/dto/response/AuthenticationResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/dto/response/AuthenticationResponse.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/dto/response/RoleResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/dto/response/RoleResponse.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/dto/response/UserResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/dto/response/UserResponse.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/entity/BaseEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/entity/BaseEntity.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/entity/Permission.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/entity/Permission.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/entity/Role.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/entity/Role.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/entity/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/entity/User.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/entity/converter/RoleNameConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/entity/converter/RoleNameConverter.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/enums/ResponseStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/enums/ResponseStatus.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/enums/RoleName.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/enums/RoleName.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/enums/UserType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/enums/UserType.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/exception/CustomExceptionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/exception/CustomExceptionHandler.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/mapper/Mapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/mapper/Mapper.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/repository/RoleRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/repository/RoleRepository.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/repository/UserRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/repository/UserRepository.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/service/AuthenticationService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/service/AuthenticationService.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/service/JwtService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/service/JwtService.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/service/RoleService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/service/RoleService.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/service/UserService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/service/UserService.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/service/impl/AuthenticationServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/service/impl/AuthenticationServiceImpl.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/service/impl/JwtServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/service/impl/JwtServiceImpl.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/service/impl/RoleServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/service/impl/RoleServiceImpl.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/service/impl/UserServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/service/impl/UserServiceImpl.java -------------------------------------------------------------------------------- /src/main/java/dev/chijiokeibekwe/jwtsecurity/util/PageImplJacksonSerializer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/java/dev/chijiokeibekwe/jwtsecurity/util/PageImplJacksonSerializer.java -------------------------------------------------------------------------------- /src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/resources/application.yml -------------------------------------------------------------------------------- /src/main/resources/db/changelog-master.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/resources/db/changelog-master.yaml -------------------------------------------------------------------------------- /src/main/resources/db/changelog/v1-init-data.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/resources/db/changelog/v1-init-data.sql -------------------------------------------------------------------------------- /src/main/resources/db/changelog/v1-init-db.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/resources/db/changelog/v1-init-db.sql -------------------------------------------------------------------------------- /src/main/resources/db/erd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/main/resources/db/erd.png -------------------------------------------------------------------------------- /src/test/java/dev/chijiokeibekwe/jwtsecurity/JwtSecurityApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/test/java/dev/chijiokeibekwe/jwtsecurity/JwtSecurityApplicationTests.java -------------------------------------------------------------------------------- /src/test/java/dev/chijiokeibekwe/jwtsecurity/annotation/WithMockAdmin.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/test/java/dev/chijiokeibekwe/jwtsecurity/annotation/WithMockAdmin.java -------------------------------------------------------------------------------- /src/test/java/dev/chijiokeibekwe/jwtsecurity/config/WithMockUserSecurityContextFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/test/java/dev/chijiokeibekwe/jwtsecurity/config/WithMockUserSecurityContextFactory.java -------------------------------------------------------------------------------- /src/test/java/dev/chijiokeibekwe/jwtsecurity/controller/AuthenticationControllerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/test/java/dev/chijiokeibekwe/jwtsecurity/controller/AuthenticationControllerTest.java -------------------------------------------------------------------------------- /src/test/java/dev/chijiokeibekwe/jwtsecurity/controller/UserControllerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/test/java/dev/chijiokeibekwe/jwtsecurity/controller/UserControllerTest.java -------------------------------------------------------------------------------- /src/test/java/dev/chijiokeibekwe/jwtsecurity/repository/RoleRepositoryTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/test/java/dev/chijiokeibekwe/jwtsecurity/repository/RoleRepositoryTest.java -------------------------------------------------------------------------------- /src/test/java/dev/chijiokeibekwe/jwtsecurity/repository/UserRepositoryTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/test/java/dev/chijiokeibekwe/jwtsecurity/repository/UserRepositoryTest.java -------------------------------------------------------------------------------- /src/test/java/dev/chijiokeibekwe/jwtsecurity/service/AuthenticationServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/test/java/dev/chijiokeibekwe/jwtsecurity/service/AuthenticationServiceTest.java -------------------------------------------------------------------------------- /src/test/java/dev/chijiokeibekwe/jwtsecurity/service/JwtServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/test/java/dev/chijiokeibekwe/jwtsecurity/service/JwtServiceTest.java -------------------------------------------------------------------------------- /src/test/java/dev/chijiokeibekwe/jwtsecurity/service/UserServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/test/java/dev/chijiokeibekwe/jwtsecurity/service/UserServiceTest.java -------------------------------------------------------------------------------- /src/test/java/dev/chijiokeibekwe/jwtsecurity/util/TestUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/test/java/dev/chijiokeibekwe/jwtsecurity/util/TestUtil.java -------------------------------------------------------------------------------- /src/test/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/test/resources/application.yml -------------------------------------------------------------------------------- /src/test/resources/certs/private.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/test/resources/certs/private.pem -------------------------------------------------------------------------------- /src/test/resources/certs/public.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chijioke-ibekwe/spring-security-jwt/HEAD/src/test/resources/certs/public.pem --------------------------------------------------------------------------------