├── .gitignore ├── .travis.yml ├── LICENSE.txt ├── README.md ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── cassiomolin │ │ └── example │ │ ├── Application.java │ │ ├── common │ │ └── api │ │ │ ├── config │ │ │ └── JerseyConfig.java │ │ │ ├── model │ │ │ └── ApiErrorDetails.java │ │ │ └── provider │ │ │ └── ObjectMapperProvider.java │ │ ├── greeting │ │ ├── api │ │ │ └── resource │ │ │ │ └── GreetingResource.java │ │ └── service │ │ │ └── GreetingService.java │ │ ├── security │ │ ├── api │ │ │ ├── AuthenticatedUserDetails.java │ │ │ ├── AuthenticationTokenDetails.java │ │ │ ├── exceptionmapper │ │ │ │ ├── AccessDeniedExceptionMapper.java │ │ │ │ ├── AuthenticationExceptionMapper.java │ │ │ │ └── AuthenticationTokenRefreshmentExceptionMapper.java │ │ │ ├── jwt │ │ │ │ ├── JwtAuthenticationEntryPoint.java │ │ │ │ ├── JwtAuthenticationProvider.java │ │ │ │ ├── JwtAuthenticationToken.java │ │ │ │ └── JwtAuthenticationTokenFilter.java │ │ │ ├── model │ │ │ │ ├── AuthenticationToken.java │ │ │ │ └── UserCredentials.java │ │ │ └── resource │ │ │ │ └── AuthenticationResource.java │ │ ├── config │ │ │ └── WebSecurityConfig.java │ │ ├── domain │ │ │ └── Authority.java │ │ ├── exception │ │ │ ├── AuthenticationTokenRefreshmentException.java │ │ │ └── InvalidAuthenticationTokenException.java │ │ └── service │ │ │ ├── AuthenticationTokenService.java │ │ │ └── impl │ │ │ ├── DefaultAuthenticationTokenService.java │ │ │ ├── DefaultUserDetailsService.java │ │ │ ├── JwtSettings.java │ │ │ ├── JwtTokenIssuer.java │ │ │ └── JwtTokenParser.java │ │ └── user │ │ ├── api │ │ ├── model │ │ │ └── QueryUserResult.java │ │ └── resource │ │ │ └── UserResource.java │ │ ├── domain │ │ └── User.java │ │ ├── repository │ │ └── UserRepository.java │ │ └── service │ │ └── UserService.java ├── postman │ ├── jersey-jwt-springsecurity.postman_collection.json │ └── jersey-jwt-springsecurity.postman_environment.json └── resources │ ├── application.yaml │ └── data.sql └── test └── java └── com └── cassiomolin └── example ├── AbstractApiTest.java ├── greeting └── api │ └── resource │ └── GreetingResourceTest.java ├── security └── api │ └── resource │ └── AuthenticationResourceTest.java └── user └── api └── resource └── UserResourceTest.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | jdk: 3 | - oraclejdk8 4 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/README.md -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/Application.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/common/api/config/JerseyConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/common/api/config/JerseyConfig.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/common/api/model/ApiErrorDetails.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/common/api/model/ApiErrorDetails.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/common/api/provider/ObjectMapperProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/common/api/provider/ObjectMapperProvider.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/greeting/api/resource/GreetingResource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/greeting/api/resource/GreetingResource.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/greeting/service/GreetingService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/greeting/service/GreetingService.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/api/AuthenticatedUserDetails.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/api/AuthenticatedUserDetails.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/api/AuthenticationTokenDetails.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/api/AuthenticationTokenDetails.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/api/exceptionmapper/AccessDeniedExceptionMapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/api/exceptionmapper/AccessDeniedExceptionMapper.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/api/exceptionmapper/AuthenticationExceptionMapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/api/exceptionmapper/AuthenticationExceptionMapper.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/api/exceptionmapper/AuthenticationTokenRefreshmentExceptionMapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/api/exceptionmapper/AuthenticationTokenRefreshmentExceptionMapper.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/api/jwt/JwtAuthenticationEntryPoint.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/api/jwt/JwtAuthenticationEntryPoint.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/api/jwt/JwtAuthenticationProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/api/jwt/JwtAuthenticationProvider.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/api/jwt/JwtAuthenticationToken.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/api/jwt/JwtAuthenticationToken.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/api/jwt/JwtAuthenticationTokenFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/api/jwt/JwtAuthenticationTokenFilter.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/api/model/AuthenticationToken.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/api/model/AuthenticationToken.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/api/model/UserCredentials.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/api/model/UserCredentials.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/api/resource/AuthenticationResource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/api/resource/AuthenticationResource.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/config/WebSecurityConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/config/WebSecurityConfig.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/domain/Authority.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/domain/Authority.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/exception/AuthenticationTokenRefreshmentException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/exception/AuthenticationTokenRefreshmentException.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/exception/InvalidAuthenticationTokenException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/exception/InvalidAuthenticationTokenException.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/service/AuthenticationTokenService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/service/AuthenticationTokenService.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/service/impl/DefaultAuthenticationTokenService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/service/impl/DefaultAuthenticationTokenService.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/service/impl/DefaultUserDetailsService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/service/impl/DefaultUserDetailsService.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/service/impl/JwtSettings.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/service/impl/JwtSettings.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/service/impl/JwtTokenIssuer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/service/impl/JwtTokenIssuer.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/security/service/impl/JwtTokenParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/security/service/impl/JwtTokenParser.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/user/api/model/QueryUserResult.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/user/api/model/QueryUserResult.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/user/api/resource/UserResource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/user/api/resource/UserResource.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/user/domain/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/user/domain/User.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/user/repository/UserRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/user/repository/UserRepository.java -------------------------------------------------------------------------------- /src/main/java/com/cassiomolin/example/user/service/UserService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/java/com/cassiomolin/example/user/service/UserService.java -------------------------------------------------------------------------------- /src/main/postman/jersey-jwt-springsecurity.postman_collection.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/postman/jersey-jwt-springsecurity.postman_collection.json -------------------------------------------------------------------------------- /src/main/postman/jersey-jwt-springsecurity.postman_environment.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/postman/jersey-jwt-springsecurity.postman_environment.json -------------------------------------------------------------------------------- /src/main/resources/application.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/resources/application.yaml -------------------------------------------------------------------------------- /src/main/resources/data.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/main/resources/data.sql -------------------------------------------------------------------------------- /src/test/java/com/cassiomolin/example/AbstractApiTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/test/java/com/cassiomolin/example/AbstractApiTest.java -------------------------------------------------------------------------------- /src/test/java/com/cassiomolin/example/greeting/api/resource/GreetingResourceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/test/java/com/cassiomolin/example/greeting/api/resource/GreetingResourceTest.java -------------------------------------------------------------------------------- /src/test/java/com/cassiomolin/example/security/api/resource/AuthenticationResourceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/test/java/com/cassiomolin/example/security/api/resource/AuthenticationResourceTest.java -------------------------------------------------------------------------------- /src/test/java/com/cassiomolin/example/user/api/resource/UserResourceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cassiomolin/jersey-jwt-springsecurity/HEAD/src/test/java/com/cassiomolin/example/user/api/resource/UserResourceTest.java --------------------------------------------------------------------------------