├── .gitignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── README.md ├── authentication-sequence-diagram.png ├── authentication.postman_collection.json ├── mvnw ├── mvnw.cmd ├── pom.xml ├── scripts ├── create-database.sh ├── docker-compose.yaml ├── start-services.sh └── stop-services.sh └── src ├── main ├── java │ └── com │ │ └── mina │ │ └── authentication │ │ ├── Main.java │ │ ├── config │ │ ├── JwtAuthFilter.java │ │ ├── SecurityConfig.java │ │ └── SwaggerConfiguration.java │ │ ├── controller │ │ ├── AuthController.java │ │ ├── RestExceptionHandler.java │ │ └── dto │ │ │ ├── ApiErrorResponse.java │ │ │ ├── LoginAttemptResponse.java │ │ │ ├── LoginRequest.java │ │ │ ├── LoginResponse.java │ │ │ └── SignupRequest.java │ │ ├── domain │ │ ├── LoginAttempt.java │ │ └── User.java │ │ ├── exceptions │ │ ├── AccessDeniedException.java │ │ ├── DuplicateException.java │ │ └── NotFoundException.java │ │ ├── helper │ │ └── JwtHelper.java │ │ ├── repository │ │ ├── LoginAttemptRepository.java │ │ └── UserRepository.java │ │ └── service │ │ ├── LoginService.java │ │ ├── UserDetailsServiceImpl.java │ │ └── UserService.java └── resources │ ├── application.yml │ └── db │ ├── changelog-master.xml │ └── changelogs │ ├── 0_schema.xml │ └── 1_tables.xml └── test ├── java └── com │ └── mina │ └── authentication │ └── controller │ └── AuthControllerIntegrationTest.java └── resources └── application-test.yml /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/README.md -------------------------------------------------------------------------------- /authentication-sequence-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/authentication-sequence-diagram.png -------------------------------------------------------------------------------- /authentication.postman_collection.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/authentication.postman_collection.json -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/pom.xml -------------------------------------------------------------------------------- /scripts/create-database.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/scripts/create-database.sh -------------------------------------------------------------------------------- /scripts/docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/scripts/docker-compose.yaml -------------------------------------------------------------------------------- /scripts/start-services.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/scripts/start-services.sh -------------------------------------------------------------------------------- /scripts/stop-services.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/scripts/stop-services.sh -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/Main.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/config/JwtAuthFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/config/JwtAuthFilter.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/config/SecurityConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/config/SecurityConfig.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/config/SwaggerConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/config/SwaggerConfiguration.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/controller/AuthController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/controller/AuthController.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/controller/RestExceptionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/controller/RestExceptionHandler.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/controller/dto/ApiErrorResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/controller/dto/ApiErrorResponse.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/controller/dto/LoginAttemptResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/controller/dto/LoginAttemptResponse.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/controller/dto/LoginRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/controller/dto/LoginRequest.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/controller/dto/LoginResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/controller/dto/LoginResponse.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/controller/dto/SignupRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/controller/dto/SignupRequest.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/domain/LoginAttempt.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/domain/LoginAttempt.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/domain/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/domain/User.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/exceptions/AccessDeniedException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/exceptions/AccessDeniedException.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/exceptions/DuplicateException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/exceptions/DuplicateException.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/exceptions/NotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/exceptions/NotFoundException.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/helper/JwtHelper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/helper/JwtHelper.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/repository/LoginAttemptRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/repository/LoginAttemptRepository.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/repository/UserRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/repository/UserRepository.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/service/LoginService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/service/LoginService.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/service/UserDetailsServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/service/UserDetailsServiceImpl.java -------------------------------------------------------------------------------- /src/main/java/com/mina/authentication/service/UserService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/java/com/mina/authentication/service/UserService.java -------------------------------------------------------------------------------- /src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/resources/application.yml -------------------------------------------------------------------------------- /src/main/resources/db/changelog-master.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/resources/db/changelog-master.xml -------------------------------------------------------------------------------- /src/main/resources/db/changelogs/0_schema.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/resources/db/changelogs/0_schema.xml -------------------------------------------------------------------------------- /src/main/resources/db/changelogs/1_tables.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/main/resources/db/changelogs/1_tables.xml -------------------------------------------------------------------------------- /src/test/java/com/mina/authentication/controller/AuthControllerIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/test/java/com/mina/authentication/controller/AuthControllerIntegrationTest.java -------------------------------------------------------------------------------- /src/test/resources/application-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/minarashidi/authentication/HEAD/src/test/resources/application-test.yml --------------------------------------------------------------------------------