From a96ba9468c1f71ca6f6ab2ff0c0911c54b07ea25 Mon Sep 17 00:00:00 2001 From: Vitor Hideyoshi Nakazone Batista Date: Sat, 24 Feb 2024 02:07:21 -0300 Subject: [PATCH 1/4] Initial AuthService Refactor and ValidateAccessToken EndPoint --- pom.xml | 6 +- .../filter/CustomAuthorizationFilter.java | 4 +- .../security/oauth/mapper/OAuthMapper.java | 6 +- .../base/security/service/AuthService.java | 232 +++++++++++++- .../security/service/AuthServiceImpl.java | 290 ------------------ .../base/user/api/UserController.java | 11 +- .../base/user/entity/Provider.java | 9 +- .../service/StorageService.java | 2 +- 8 files changed, 242 insertions(+), 318 deletions(-) delete mode 100644 src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthServiceImpl.java diff --git a/pom.xml b/pom.xml index 4aa16dc..40ed121 100644 --- a/pom.xml +++ b/pom.xml @@ -107,7 +107,11 @@ httpclient 4.5.14 - + + org.springframework.boot + spring-boot-starter-actuator + + diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthorizationFilter.java b/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthorizationFilter.java index 87607eb..af9132b 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthorizationFilter.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthorizationFilter.java @@ -4,7 +4,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.hideyoshi.backendportfolio.base.security.service.AuthService; import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidException; import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidExceptionDetails; -import com.hideyoshi.backendportfolio.util.exception.BadRequestException; import org.springframework.http.HttpStatus; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.context.SecurityContextHolder; @@ -78,7 +77,8 @@ public class CustomAuthorizationFilter extends OncePerRequestFilter { private UsernamePasswordAuthenticationToken validateUserAccess(String authorizationHeader) { if (Objects.nonNull(authorizationHeader) && authorizationHeader.startsWith(AUTHORIZATION_TYPE_STRING)) { - return this.authService.verifyAccessToken(authorizationHeader); + String accessToken = authorizationHeader.substring(AUTHORIZATION_TYPE_STRING.length()); + return this.authService.extractAccessTokenInfo(accessToken); } else { throw new AuthenticationInvalidException("Access denied"); } diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapper.java b/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapper.java index b4b73b8..bbd8642 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapper.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapper.java @@ -9,12 +9,12 @@ public enum OAuthMapper { GITHUB(GithubOAuthMap.class, Provider.GITHUB); - private final Class oAuthMap; + private final Class oAuthMap; @Getter private final Provider provider; - private OAuthMapper(Class oAuthMap, Provider provider) { + private OAuthMapper(Class oAuthMap, Provider provider) { this.oAuthMap = oAuthMap; this.provider = provider; } @@ -28,7 +28,7 @@ public enum OAuthMapper { throw new IllegalArgumentException("Argument not valid."); } - public Class getMap() { + public Class getMap() { return oAuthMap; } diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthService.java b/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthService.java index 81fc064..bb2afe7 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthService.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthService.java @@ -1,40 +1,246 @@ package com.hideyoshi.backendportfolio.base.security.service; +import com.auth0.jwt.JWT; +import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; +import com.auth0.jwt.interfaces.DecodedJWT; +import com.fasterxml.jackson.databind.ObjectMapper; import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.security.oauth.mapper.OAuthMap; +import com.hideyoshi.backendportfolio.base.security.oauth.mapper.OAuthMapper; +import com.hideyoshi.backendportfolio.base.user.entity.Provider; +import com.hideyoshi.backendportfolio.base.user.entity.Role; import com.hideyoshi.backendportfolio.base.user.model.TokenDTO; import com.hideyoshi.backendportfolio.base.user.model.UserDTO; +import com.hideyoshi.backendportfolio.base.user.service.UserService; +import com.hideyoshi.backendportfolio.microservice.storageService.model.StorageServiceDownloadResponse; +import com.hideyoshi.backendportfolio.microservice.storageService.service.StorageService; +import com.hideyoshi.backendportfolio.util.exception.BadRequestException; +import lombok.RequiredArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Value; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.oauth2.core.user.OAuth2User; +import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import javax.validation.Valid; import java.io.IOException; -import java.util.HashMap; +import java.util.*; +import java.util.stream.Collectors; -public interface AuthService { +import static java.util.Arrays.stream; +import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; - TokenDTO generateAccessToken(@Valid UserDTO user, Algorithm algorithm, HttpServletRequest request); +@Log4j2 +@Service +@RequiredArgsConstructor +public class AuthService { + private static final String AUTHORIZATION_TYPE_STRING = "Bearer "; - TokenDTO generateRefreshToken(@Valid UserDTO user, Algorithm algorithm, HttpServletRequest request); + private final UserService userService; - HashMap generateTokens(@Valid UserDTO user, Algorithm algorithm, HttpServletRequest request); + private final StorageService storageService; - UsernamePasswordAuthenticationToken verifyAccessToken(String authorizationHeader); + @Value("${com.hideyoshi.tokenSecret}") + private String TOKEN_SECRET; - AuthDTO refreshAccessToken(String refreshToken, HttpServletRequest request, HttpServletResponse response); + @Value("${com.hideyoshi.accessTokenDuration}") + private Integer ACCESS_TOKEN_DURATION; - AuthDTO signupUser(@Valid UserDTO user, HttpServletRequest request); + @Value("${com.hideyoshi.refreshTokenDuration}") + private Integer REFRESH_TOKEN_DURATION; - AuthDTO generateUserWithTokens(UserDTO user, HttpServletRequest request); + public UsernamePasswordAuthenticationToken extractAccessTokenInfo(String accessToken) { + DecodedJWT decodedJWT = this.decodeToken(accessToken) + .orElseThrow(() -> new BadRequestException("Invalid Token")); - AuthDTO processOAuthPostLogin(@Valid UserDTO user, HttpServletRequest request); + String username = decodedJWT.getSubject(); + String[] roles = decodedJWT.getClaim("roles").asArray(String.class); - void loginUser(HttpServletRequest request, HttpServletResponse response, @Valid UserDTO user) throws IOException; + Collection authorities = new ArrayList<>(); + stream(roles).forEach(role -> { + authorities.add(new SimpleGrantedAuthority(role)); + }); - void loginOAuthUser(HttpServletRequest request, HttpServletResponse response, OAuth2User user) throws IOException; + return new UsernamePasswordAuthenticationToken(username, null, authorities); + } - UserDTO getLoggedUser(); + public AuthDTO signupUser(@Valid UserDTO user, HttpServletRequest request) { + user.setProvider(Provider.LOCAL); + + UserDTO authenticatedUser = this.userService.saveUser(user); + authenticatedUser.setProfilePictureUrl(this.extractProfilePictureUrl(authenticatedUser)); + + return this.generateNewAuthenticatedUser( + authenticatedUser, + request + ); + + } + + public void loginUser(HttpServletRequest request, HttpServletResponse response, @Valid UserDTO user) throws IOException { + user.setProfilePictureUrl(this.extractProfilePictureUrl(user)); + + AuthDTO authObject = this.generateNewAuthenticatedUser( + user, + request + ); + + response.setContentType(APPLICATION_JSON_VALUE); + new ObjectMapper() + .writeValue(response.getOutputStream(), authObject); + } + + public AuthDTO refreshAccessToken(String requestToken, HttpServletRequest request) { + DecodedJWT decodedJWT = this.decodeToken(requestToken) + .orElseThrow(() -> new BadRequestException("Invalid Token")); + + String username = decodedJWT.getSubject(); + + UserDTO user = this.userService.getUser(username); + user.setProfilePictureUrl(this.extractProfilePictureUrl(user)); + + return this.refreshAuthenticatedUser(user, request, new TokenDTO(requestToken, decodedJWT.getExpiresAt())); + } + + public AuthDTO validateAccessToken(HttpServletRequest request) { + UserDTO user = this.getLoggedUser(); + user.setProfilePictureUrl(this.extractProfilePictureUrl(user)); + + return this.generateNewAuthenticatedUser(user, request); + + } + + public void loginOAuthUser(HttpServletRequest request, + HttpServletResponse response, + OAuth2User oauthUser) throws IOException { + + String clientId = this.getClientFromUrl(request.getRequestURL().toString()); + OAuthMap oauthMap = this.generateOAuthMap(clientId, oauthUser); + + AuthDTO authObject = this.processOAuthPostLogin( + this.generateAuthenticatedUserFromOAuth(oauthMap, oauthUser), + request + ); + + response.setContentType(APPLICATION_JSON_VALUE); + new ObjectMapper() + .writeValue(response.getOutputStream(), authObject); + } + + public UserDTO getLoggedUser() { + String username = (String) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); + return userService.getUser(username); + } + + private Optional decodeToken(String token) { + Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET.getBytes()); + JWTVerifier verifier = JWT.require(algorithm).build(); + try { + return Optional.of(verifier.verify(token)); + } catch (Exception e) { + log.warn("Token verification failed: {}", e.getMessage()); + } + return Optional.empty(); + } + + private AuthDTO processOAuthPostLogin(@Valid UserDTO user, HttpServletRequest request) { + + if (Objects.nonNull(user.getId())) { + this.userService.alterUser(user.getId(), user); + } else { + this.userService.saveUser(user); + } + + return this.generateNewAuthenticatedUser(user, request); + } + + private String getClientFromUrl(String url) { + String[] urlPartition = url.split("/"); + return urlPartition[urlPartition.length - 1]; + } + + private OAuthMap generateOAuthMap(String clientId, OAuth2User oauthUser) { + try { + return OAuthMapper.byValue(clientId).getMap() + .getDeclaredConstructor(OAuth2User.class).newInstance(oauthUser); + } catch (Exception e) { + throw new BadRequestException("Unsupported OAuth Client."); + } + } + + private String extractProfilePictureUrl(UserDTO user) { + return this.storageService.getFileUrl(user.getUsername(), "profile") + .map(StorageServiceDownloadResponse::getPresignedUrl) + .orElse(null); + } + + private UserDTO generateAuthenticatedUserFromOAuth(OAuthMap oauthMap, OAuth2User oauthUser) { + UserDTO user; + try { + user = this.userService.getUser(oauthMap.getPrincipal()); + } catch (BadRequestException e) { + user = UserDTO.builder() + .name(oauthUser.getAttribute("name")) + .username(oauthMap.getPrincipal()) + .email(oauthUser.getAttribute("email")) + .roles(List.of(Role.USER)) + .provider(oauthMap.getProvider()) + .build(); + } + user.setProfilePictureUrl(oauthMap.getProfilePicture()); + + return user; + } + + private AuthDTO generateNewAuthenticatedUser(UserDTO user, HttpServletRequest request) { + HttpSession httpSession = request.getSession(); + AuthDTO authObject = new AuthDTO( + user, + this.generateToken(user, request, ACCESS_TOKEN_DURATION), + this.generateToken(user, request, REFRESH_TOKEN_DURATION) + ); + + httpSession.setAttribute("user", authObject); + + return authObject; + } + + private AuthDTO refreshAuthenticatedUser(UserDTO user, HttpServletRequest request, TokenDTO refreshToken) { + HttpSession httpSession = request.getSession(); + AuthDTO authObject = new AuthDTO( + user, + this.generateToken(user, request, ACCESS_TOKEN_DURATION), + refreshToken + ); + + httpSession.setAttribute("user", authObject); + + return authObject; + } + + private TokenDTO generateToken(@Valid UserDTO user, HttpServletRequest request, Integer duration) { + + Date expirationDate = new Date(System.currentTimeMillis() + duration); + Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET.getBytes()); + + String token = JWT.create() + .withSubject(user.getUsername()) + .withExpiresAt(expirationDate) + .withIssuer(request.getRequestURL().toString()) + .withClaim("roles", user.getAuthorities() + .stream().map(GrantedAuthority::getAuthority) + .collect(Collectors.toList())) + .sign(algorithm); + + return new TokenDTO(token, expirationDate); + + } } diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthServiceImpl.java b/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthServiceImpl.java deleted file mode 100644 index ed7e81b..0000000 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthServiceImpl.java +++ /dev/null @@ -1,290 +0,0 @@ -package com.hideyoshi.backendportfolio.base.security.service; - -import com.auth0.jwt.JWT; -import com.auth0.jwt.JWTVerifier; -import com.auth0.jwt.algorithms.Algorithm; -import com.auth0.jwt.interfaces.DecodedJWT; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; -import com.hideyoshi.backendportfolio.base.security.oauth.mapper.OAuthMap; -import com.hideyoshi.backendportfolio.base.security.oauth.mapper.OAuthMapper; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.model.TokenDTO; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import com.hideyoshi.backendportfolio.base.user.service.UserService; -import com.hideyoshi.backendportfolio.microservice.storageService.service.StorageService; -import com.hideyoshi.backendportfolio.util.exception.BadRequestException; -import lombok.RequiredArgsConstructor; -import lombok.extern.log4j.Log4j2; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.authority.SimpleGrantedAuthority; -import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.security.oauth2.core.user.OAuth2User; -import org.springframework.stereotype.Service; -import org.springframework.web.servlet.HandlerExceptionResolver; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; -import javax.validation.Valid; -import java.io.IOException; -import java.util.*; -import java.util.stream.Collectors; - -import static java.util.Arrays.stream; -import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; - -@Log4j2 -@Service -@RequiredArgsConstructor -public class AuthServiceImpl implements AuthService { - - - private static final String AUTHORIZATION_TYPE_STRING = "Bearer "; - private final UserService userService; - private final StorageService storageService; - @Value("${com.hideyoshi.tokenSecret}") - private String TOKEN_SECRET; - @Value("${com.hideyoshi.accessTokenDuration}") - private Integer ACCESS_TOKEN_DURATION; - @Value("${com.hideyoshi.refreshTokenDuration}") - private Integer REFRESH_TOKEN_DURATION; - @Autowired - @Qualifier("handlerExceptionResolver") - private HandlerExceptionResolver resolver; - - @Override - public TokenDTO generateAccessToken(@Valid UserDTO user, Algorithm algorithm, HttpServletRequest request) { - - Date expirationDate = new Date(System.currentTimeMillis() + ACCESS_TOKEN_DURATION); - - String accessToken = JWT.create() - .withSubject(user.getUsername()) - .withExpiresAt(expirationDate) - .withIssuer(request.getRequestURL().toString()) - .withClaim("roles", user.getAuthorities() - .stream().map(GrantedAuthority::getAuthority) - .collect(Collectors.toList())) - .sign(algorithm); - - return new TokenDTO(accessToken, expirationDate); - - } - - @Override - public TokenDTO generateRefreshToken(@Valid UserDTO user, Algorithm algorithm, HttpServletRequest request) { - - Date expirationDate = new Date(System.currentTimeMillis() + REFRESH_TOKEN_DURATION); - - String refreshToken = JWT.create() - .withSubject(user.getUsername()) - .withExpiresAt(expirationDate) - .withIssuer(request.getRequestURL().toString()) - .sign(algorithm); - - return new TokenDTO(refreshToken, expirationDate); - - } - - @Override - public HashMap generateTokens(@Valid UserDTO user, Algorithm algorithm, HttpServletRequest request) { - - TokenDTO accessToken = generateAccessToken(user, algorithm, request); - TokenDTO refreshToken = generateRefreshToken(user, algorithm, request); - - HashMap tokens = new HashMap<>(); - tokens.put("accessToken", accessToken); - tokens.put("refreshToken", refreshToken); - - return tokens; - } - - @Override - public UsernamePasswordAuthenticationToken verifyAccessToken(String authorizationHeader) { - - if (!authorizationHeader.startsWith(AUTHORIZATION_TYPE_STRING)) { - return null; - } - - String authorizationToken = authorizationHeader.substring(AUTHORIZATION_TYPE_STRING.length()); - Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET.getBytes()); - - JWTVerifier verifier = JWT.require(algorithm).build(); - DecodedJWT decodedJWT = verifier.verify(authorizationToken); - - String username = decodedJWT.getSubject(); - String[] roles = decodedJWT.getClaim("roles").asArray(String.class); - - Collection authorities = new ArrayList<>(); - stream(roles).forEach(role -> { - authorities.add(new SimpleGrantedAuthority(role)); - }); - - return new UsernamePasswordAuthenticationToken(username, null, authorities); - } - - @Override - public AuthDTO generateUserWithTokens(UserDTO user, HttpServletRequest request) { - - Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET.getBytes()); - - HashMap tokens = this.generateTokens(user, algorithm, request); - - HttpSession httpSession = request.getSession(); - AuthDTO authObject = new AuthDTO(user, tokens.get("accessToken"), tokens.get("refreshToken")); - - httpSession.setAttribute("user", authObject); - - return authObject; - } - - @Override - public AuthDTO signupUser(@Valid UserDTO user, HttpServletRequest request) { - - user.setProvider(Provider.LOCAL); - - UserDTO authenticatedUser = this.userService.saveUser(user); - - var profilePicture = this.storageService.getFileUrl(authenticatedUser.getUsername(), "profile"); - profilePicture.ifPresent( - storageServiceDownloadResponse -> authenticatedUser.setProfilePictureUrl(storageServiceDownloadResponse.getPresignedUrl()) - ); - - return this.generateUserWithTokens( - authenticatedUser, - request - ); - - } - - @Override - public void loginUser(HttpServletRequest request, HttpServletResponse response, @Valid UserDTO user) throws IOException { - var profilePicture = this.storageService.getFileUrl(user.getUsername(), "profile"); - profilePicture.ifPresent( - storageServiceDownloadResponse -> user.setProfilePictureUrl(storageServiceDownloadResponse.getPresignedUrl()) - ); - - AuthDTO authObject = this.generateUserWithTokens( - user, - request - ); - - response.setContentType(APPLICATION_JSON_VALUE); - new ObjectMapper() - .writeValue(response.getOutputStream(), authObject); - } - - @Override - public AuthDTO refreshAccessToken(String refreshToken, HttpServletRequest request, HttpServletResponse response) { - - if (!Objects.nonNull(refreshToken)) { - resolver.resolveException( - request, - response, - null, - new BadRequestException("Invalid Refresh Token. Please authenticate first.") - ); - } - - Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET.getBytes()); - - JWTVerifier verifier = JWT.require(algorithm).build(); - DecodedJWT decodedJWT = verifier.verify(refreshToken); - - UserDTO user = this.userService.getUser(decodedJWT.getSubject()); - - var profilePicture = this.storageService.getFileUrl(user.getUsername(), "profile"); - profilePicture.ifPresent( - storageServiceDownloadResponse -> user.setProfilePictureUrl(storageServiceDownloadResponse.getPresignedUrl()) - ); - - HttpSession httpSession = request.getSession(); - AuthDTO authenticatedUser = new AuthDTO( - user, - this.generateAccessToken(user, algorithm, request), - new TokenDTO( - refreshToken, - decodedJWT.getExpiresAt() - ) - ); - httpSession.setAttribute("user", authenticatedUser); - - return authenticatedUser; - - } - - @Override - public AuthDTO processOAuthPostLogin(@Valid UserDTO user, HttpServletRequest request) { - - if (Objects.nonNull(user.getId())) { - this.userService.alterUser(user.getId(), user); - } else { - this.userService.saveUser(user); - } - - return this.generateUserWithTokens(user, request); - } - - @Override - public void loginOAuthUser(HttpServletRequest request, - HttpServletResponse response, - OAuth2User oauthUser) throws IOException { - - String clientId = this.getClientFromUrl(request.getRequestURL().toString()); - - OAuthMap oauthMap = this.generateOAuthMap(clientId, oauthUser); - - AuthDTO authObject = this.processOAuthPostLogin( - this.generateUserFromAuthUser(oauthMap, oauthUser), - request - ); - - response.setContentType(APPLICATION_JSON_VALUE); - new ObjectMapper() - .writeValue(response.getOutputStream(), authObject); - } - - @Override - public UserDTO getLoggedUser() { - String username = (String) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); - return userService.getUser(username); - } - - private String getClientFromUrl(String url) { - String[] urlPartition = url.split("/"); - return urlPartition[urlPartition.length - 1]; - } - - private OAuthMap generateOAuthMap(String clientId, OAuth2User oauthUser) { - try { - return (OAuthMap) OAuthMapper.byValue(clientId).getMap() - .getDeclaredConstructor(OAuth2User.class).newInstance(oauthUser); - } catch (Exception e) { - throw new BadRequestException("Unsupported OAuth Client."); - } - } - - private UserDTO generateUserFromAuthUser(OAuthMap oauthMap, OAuth2User oauthUser) { - UserDTO user = null; - try { - user = this.userService.getUser(oauthMap.getPrincipal()); - } catch (BadRequestException e) { - user = UserDTO.builder() - .name(oauthUser.getAttribute("name")) - .username(oauthMap.getPrincipal()) - .email(oauthUser.getAttribute("email")) - .roles(Arrays.asList(Role.USER)) - .provider(oauthMap.getProvider()) - .build(); - } - user.setProfilePictureUrl(oauthMap.getProfilePicture()); - - return user; - } - -} diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/api/UserController.java b/src/main/java/com/hideyoshi/backendportfolio/base/user/api/UserController.java index 1c88292..aca0317 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/api/UserController.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/user/api/UserController.java @@ -59,9 +59,14 @@ public class UserController { @UserResourceGuard(accessType = UserResourceGuardEnum.OPEN) public ResponseEntity refreshAccessToken( @RequestBody @Valid TokenDTO refreshToken, - HttpServletRequest request, - HttpServletResponse response) { - return ResponseEntity.ok(this.authService.refreshAccessToken(refreshToken.getToken(), request, response)); + HttpServletRequest request) { + return ResponseEntity.ok(this.authService.refreshAccessToken(refreshToken.getToken(), request)); + } + + @PostMapping("/login/validate") + @UserResourceGuard(accessType = UserResourceGuardEnum.USER) + public ResponseEntity validateAccessToken(HttpServletRequest request) { + return ResponseEntity.ok(this.authService.validateAccessToken(request)); } @DeleteMapping("/delete") diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Provider.java b/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Provider.java index 6819ce7..29514f9 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Provider.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Provider.java @@ -1,5 +1,8 @@ package com.hideyoshi.backendportfolio.base.user.entity; +import lombok.Getter; + +@Getter public enum Provider { GOOGLE("google"), @@ -8,7 +11,7 @@ public enum Provider { LOCAL("local"); - private String name; + private final String name; Provider(String name) { this.name = name; @@ -23,8 +26,4 @@ public enum Provider { throw new IllegalArgumentException("Argument not valid."); } - public String getName() { - return name; - } - } diff --git a/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/service/StorageService.java b/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/service/StorageService.java index 7c16c41..8b19020 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/service/StorageService.java +++ b/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/service/StorageService.java @@ -63,7 +63,7 @@ public class StorageService { } public Optional getFileUrl(String username, String filePostfix) { - URI uri = null; + URI uri; try { uri = new URIBuilder(storageServiceConfig.getFileServicePath() + "/file") .addParameter(PARAMETER_USERNAME, username) From bd0b072e1a0d0ab99705d9734eb9b7ef89f40bb5 Mon Sep 17 00:00:00 2001 From: Vitor Hideyoshi Nakazone Batista Date: Sat, 24 Feb 2024 02:22:38 -0300 Subject: [PATCH 2/4] Final Implementation of AuthService --- .../base/security/config/SecurityConfig.java | 14 ++-- .../filter/CustomAuthenticationFilter.java | 10 ++- .../security/oauth/mapper/OAuthMapper.java | 4 +- .../base/security/service/AuthService.java | 70 ++++++++----------- 4 files changed, 51 insertions(+), 47 deletions(-) diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/config/SecurityConfig.java b/src/main/java/com/hideyoshi/backendportfolio/base/security/config/SecurityConfig.java index 2e8cfbd..fcd24f4 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/config/SecurityConfig.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/security/config/SecurityConfig.java @@ -1,8 +1,10 @@ package com.hideyoshi.backendportfolio.base.security.config; +import com.fasterxml.jackson.databind.ObjectMapper; import com.hideyoshi.backendportfolio.base.config.RestAuthenticationEntryPointConfig; import com.hideyoshi.backendportfolio.base.security.filter.CustomAuthenticationFilter; import com.hideyoshi.backendportfolio.base.security.filter.CustomAuthorizationFilter; +import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; import com.hideyoshi.backendportfolio.base.security.oauth.repo.OAuthRequestRepository; import com.hideyoshi.backendportfolio.base.security.service.AuthService; import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidException; @@ -27,6 +29,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; + @Log4j2 @Configuration @EnableWebSecurity @@ -95,11 +99,11 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { OAuth2User oauthUser = (OAuth2User) authentication.getPrincipal(); - this.authService.loginOAuthUser( - request, - response, - oauthUser - ); + AuthDTO authUser = this.authService.loginOAuthUser(oauthUser, request); + + response.setContentType(APPLICATION_JSON_VALUE); + new ObjectMapper() + .writeValue(response.getOutputStream(), authUser); } diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthenticationFilter.java b/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthenticationFilter.java index 878ad83..5886288 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthenticationFilter.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthenticationFilter.java @@ -1,6 +1,8 @@ package com.hideyoshi.backendportfolio.base.security.filter; +import com.fasterxml.jackson.databind.ObjectMapper; import com.hideyoshi.backendportfolio.base.config.RestAuthenticationEntryPointConfig; +import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; import com.hideyoshi.backendportfolio.base.security.service.AuthService; import com.hideyoshi.backendportfolio.base.user.model.UserDTO; import lombok.extern.log4j.Log4j2; @@ -15,6 +17,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; + @Log4j2 public class CustomAuthenticationFilter extends UsernamePasswordAuthenticationFilter { @@ -50,12 +54,16 @@ public class CustomAuthenticationFilter extends UsernamePasswordAuthenticationFi @Override protected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response, FilterChain chain, Authentication authentication) throws IOException { - this.authService.loginUser( + AuthDTO authUser = this.authService.loginUser( request, response, (UserDTO) authentication.getPrincipal() ); + response.setContentType(APPLICATION_JSON_VALUE); + new ObjectMapper() + .writeValue(response.getOutputStream(), authUser); + } } diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapper.java b/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapper.java index bbd8642..0f9abbb 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapper.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapper.java @@ -19,9 +19,9 @@ public enum OAuthMapper { this.provider = provider; } - public static OAuthMapper byValue(String name) { + public static OAuthMapper byValue(Provider provider) { for (OAuthMapper e : values()) { - if (e.getProvider().getName().equals(name)) { + if (e.getProvider().equals(provider)) { return e; } } diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthService.java b/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthService.java index bb2afe7..35b6bbb 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthService.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthService.java @@ -56,21 +56,6 @@ public class AuthService { @Value("${com.hideyoshi.refreshTokenDuration}") private Integer REFRESH_TOKEN_DURATION; - public UsernamePasswordAuthenticationToken extractAccessTokenInfo(String accessToken) { - DecodedJWT decodedJWT = this.decodeToken(accessToken) - .orElseThrow(() -> new BadRequestException("Invalid Token")); - - String username = decodedJWT.getSubject(); - String[] roles = decodedJWT.getClaim("roles").asArray(String.class); - - Collection authorities = new ArrayList<>(); - stream(roles).forEach(role -> { - authorities.add(new SimpleGrantedAuthority(role)); - }); - - return new UsernamePasswordAuthenticationToken(username, null, authorities); - } - public AuthDTO signupUser(@Valid UserDTO user, HttpServletRequest request) { user.setProvider(Provider.LOCAL); @@ -84,17 +69,26 @@ public class AuthService { } - public void loginUser(HttpServletRequest request, HttpServletResponse response, @Valid UserDTO user) throws IOException { + public AuthDTO loginUser(HttpServletRequest request, HttpServletResponse response, @Valid UserDTO user) throws IOException { user.setProfilePictureUrl(this.extractProfilePictureUrl(user)); - AuthDTO authObject = this.generateNewAuthenticatedUser( + return this.generateNewAuthenticatedUser( user, request ); + } - response.setContentType(APPLICATION_JSON_VALUE); - new ObjectMapper() - .writeValue(response.getOutputStream(), authObject); + public AuthDTO loginOAuthUser(OAuth2User oauthUser, HttpServletRequest request) { + Provider clientProvider = Provider.byValue( + this.getClientFromUrl(request.getRequestURL().toString()) + ); + + OAuthMap oauthMap = this.generateOAuthMap(clientProvider, oauthUser); + + return this.processOAuthPostLogin( + this.generateAuthenticatedUserFromOAuth(oauthMap, oauthUser), + request + ); } public AuthDTO refreshAccessToken(String requestToken, HttpServletRequest request) { @@ -117,28 +111,26 @@ public class AuthService { } - public void loginOAuthUser(HttpServletRequest request, - HttpServletResponse response, - OAuth2User oauthUser) throws IOException { - - String clientId = this.getClientFromUrl(request.getRequestURL().toString()); - OAuthMap oauthMap = this.generateOAuthMap(clientId, oauthUser); - - AuthDTO authObject = this.processOAuthPostLogin( - this.generateAuthenticatedUserFromOAuth(oauthMap, oauthUser), - request - ); - - response.setContentType(APPLICATION_JSON_VALUE); - new ObjectMapper() - .writeValue(response.getOutputStream(), authObject); - } - public UserDTO getLoggedUser() { String username = (String) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); return userService.getUser(username); } + public UsernamePasswordAuthenticationToken extractAccessTokenInfo(String accessToken) { + DecodedJWT decodedJWT = this.decodeToken(accessToken) + .orElseThrow(() -> new BadRequestException("Invalid Token")); + + String username = decodedJWT.getSubject(); + String[] roles = decodedJWT.getClaim("roles").asArray(String.class); + + Collection authorities = new ArrayList<>(); + stream(roles).forEach(role -> { + authorities.add(new SimpleGrantedAuthority(role)); + }); + + return new UsernamePasswordAuthenticationToken(username, null, authorities); + } + private Optional decodeToken(String token) { Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET.getBytes()); JWTVerifier verifier = JWT.require(algorithm).build(); @@ -166,9 +158,9 @@ public class AuthService { return urlPartition[urlPartition.length - 1]; } - private OAuthMap generateOAuthMap(String clientId, OAuth2User oauthUser) { + private OAuthMap generateOAuthMap(Provider clientProvider, OAuth2User oauthUser) { try { - return OAuthMapper.byValue(clientId).getMap() + return OAuthMapper.byValue(clientProvider).getMap() .getDeclaredConstructor(OAuth2User.class).newInstance(oauthUser); } catch (Exception e) { throw new BadRequestException("Unsupported OAuth Client."); From e1ec1b206889ec20e1258ef74d1f93acb7584946 Mon Sep 17 00:00:00 2001 From: Vitor Hideyoshi Nakazone Batista Date: Sat, 24 Feb 2024 02:43:10 -0300 Subject: [PATCH 3/4] Refactors Project Structure --- .../{user => auth}/api/UserController.java | 13 +++++----- .../config/SecurityConfig.java | 12 ++++----- .../base/{user => auth}/entity/Provider.java | 2 +- .../base/{user => auth}/entity/Role.java | 2 +- .../base/{user => auth}/entity/User.java | 2 +- .../filter/CustomAuthenticationFilter.java | 8 +++--- .../filter/CustomAuthorizationFilter.java | 4 +-- .../interceptor/ConfigInterceptor.java | 2 +- .../UserResourceAccessInterceptor.java | 5 ++-- .../{security => auth}/model/AuthDTO.java | 8 +++--- .../{user => auth}/model/RoleToUserDTO.java | 2 +- .../base/{user => auth}/model/TokenDTO.java | 2 +- .../base/{user => auth}/model/UserDTO.java | 8 +++--- .../oauth/mapper/GithubOAuthMap.java | 4 +-- .../oauth/mapper/GoogleOAuthMap.java | 4 +-- .../base/auth/oauth/mapper/OAuthMap.java | 13 ++++++++++ .../oauth/mapper/OAuthMapper.java | 4 +-- .../oauth/repo/OAuthRequestRepository.java | 2 +- .../{user => auth}/repo/UserRepository.java | 4 +-- .../service/AuthService.java | 19 ++++++-------- .../service/UserService.java} | 24 ++++++----------- .../base/config/DefaultUserConfig.java | 10 +++---- .../base/security/oauth/mapper/OAuthMap.java | 13 ---------- .../base/session/api/SessionController.java | 2 +- .../service/SessionManagerService.java | 2 +- .../service/SessionManagerServiceImpl.java | 2 +- .../base/user/service/UserService.java | 26 ------------------- .../util/guard/UserResourceGuardEnum.java | 6 ++--- .../util/guard/UserResourceValidator.java | 2 +- .../validator/email/unique/EmailUnique.java | 2 +- .../validator/password/PasswordValidator.java | 2 +- .../validator/password/ValidPassword.java | 2 +- .../base/user/repo/UserRepositoryTest.java | 9 ++++--- ...viceImplTest.java => UserServiceTest.java} | 17 ++++++------ 34 files changed, 100 insertions(+), 139 deletions(-) rename src/main/java/com/hideyoshi/backendportfolio/base/{user => auth}/api/UserController.java (91%) rename src/main/java/com/hideyoshi/backendportfolio/base/{security => auth}/config/SecurityConfig.java (91%) rename src/main/java/com/hideyoshi/backendportfolio/base/{user => auth}/entity/Provider.java (89%) rename src/main/java/com/hideyoshi/backendportfolio/base/{user => auth}/entity/Role.java (91%) rename src/main/java/com/hideyoshi/backendportfolio/base/{user => auth}/entity/User.java (96%) rename src/main/java/com/hideyoshi/backendportfolio/base/{security => auth}/filter/CustomAuthenticationFilter.java (90%) rename src/main/java/com/hideyoshi/backendportfolio/base/{security => auth}/filter/CustomAuthorizationFilter.java (96%) rename src/main/java/com/hideyoshi/backendportfolio/base/{security => auth}/interceptor/ConfigInterceptor.java (89%) rename src/main/java/com/hideyoshi/backendportfolio/base/{security => auth}/interceptor/UserResourceAccessInterceptor.java (87%) rename src/main/java/com/hideyoshi/backendportfolio/base/{security => auth}/model/AuthDTO.java (78%) rename src/main/java/com/hideyoshi/backendportfolio/base/{user => auth}/model/RoleToUserDTO.java (67%) rename src/main/java/com/hideyoshi/backendportfolio/base/{user => auth}/model/TokenDTO.java (92%) rename src/main/java/com/hideyoshi/backendportfolio/base/{user => auth}/model/UserDTO.java (93%) rename src/main/java/com/hideyoshi/backendportfolio/base/{security => auth}/oauth/mapper/GithubOAuthMap.java (80%) rename src/main/java/com/hideyoshi/backendportfolio/base/{security => auth}/oauth/mapper/GoogleOAuthMap.java (80%) create mode 100644 src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMap.java rename src/main/java/com/hideyoshi/backendportfolio/base/{security => auth}/oauth/mapper/OAuthMapper.java (85%) rename src/main/java/com/hideyoshi/backendportfolio/base/{security => auth}/oauth/repo/OAuthRequestRepository.java (97%) rename src/main/java/com/hideyoshi/backendportfolio/base/{user => auth}/repo/UserRepository.java (73%) rename src/main/java/com/hideyoshi/backendportfolio/base/{security => auth}/service/AuthService.java (92%) rename src/main/java/com/hideyoshi/backendportfolio/base/{user/service/UserServiceImpl.java => auth/service/UserService.java} (89%) delete mode 100644 src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMap.java delete mode 100644 src/main/java/com/hideyoshi/backendportfolio/base/user/service/UserService.java rename src/test/java/com/hideyoshi/backendportfolio/base/user/service/{UserServiceImplTest.java => UserServiceTest.java} (96%) diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/api/UserController.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/api/UserController.java similarity index 91% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/api/UserController.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/api/UserController.java index aca0317..a70ddae 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/api/UserController.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/api/UserController.java @@ -1,10 +1,10 @@ -package com.hideyoshi.backendportfolio.base.user.api; +package com.hideyoshi.backendportfolio.base.auth.api; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; -import com.hideyoshi.backendportfolio.base.security.service.AuthService; -import com.hideyoshi.backendportfolio.base.user.model.TokenDTO; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import com.hideyoshi.backendportfolio.base.user.service.UserService; +import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.auth.service.AuthService; +import com.hideyoshi.backendportfolio.base.auth.model.TokenDTO; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.service.UserService; import com.hideyoshi.backendportfolio.microservice.storageService.enums.FileTypeEnum; import com.hideyoshi.backendportfolio.microservice.storageService.model.StorageServiceUploadResponse; import com.hideyoshi.backendportfolio.microservice.storageService.service.StorageService; @@ -20,7 +20,6 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.support.ServletUriComponentsBuilder; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.net.URI; import java.util.List; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/config/SecurityConfig.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/config/SecurityConfig.java similarity index 91% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/config/SecurityConfig.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/config/SecurityConfig.java index fcd24f4..55a79bf 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/config/SecurityConfig.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/config/SecurityConfig.java @@ -1,12 +1,12 @@ -package com.hideyoshi.backendportfolio.base.security.config; +package com.hideyoshi.backendportfolio.base.auth.config; import com.fasterxml.jackson.databind.ObjectMapper; import com.hideyoshi.backendportfolio.base.config.RestAuthenticationEntryPointConfig; -import com.hideyoshi.backendportfolio.base.security.filter.CustomAuthenticationFilter; -import com.hideyoshi.backendportfolio.base.security.filter.CustomAuthorizationFilter; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; -import com.hideyoshi.backendportfolio.base.security.oauth.repo.OAuthRequestRepository; -import com.hideyoshi.backendportfolio.base.security.service.AuthService; +import com.hideyoshi.backendportfolio.base.auth.filter.CustomAuthenticationFilter; +import com.hideyoshi.backendportfolio.base.auth.filter.CustomAuthorizationFilter; +import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.auth.oauth.repo.OAuthRequestRepository; +import com.hideyoshi.backendportfolio.base.auth.service.AuthService; import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidException; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Provider.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Provider.java similarity index 89% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Provider.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Provider.java index 29514f9..7e46909 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Provider.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Provider.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.user.entity; +package com.hideyoshi.backendportfolio.base.auth.entity; import lombok.Getter; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Role.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Role.java similarity index 91% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Role.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Role.java index 23e970d..ece6638 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Role.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Role.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.user.entity; +package com.hideyoshi.backendportfolio.base.auth.entity; import com.fasterxml.jackson.annotation.JsonValue; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/User.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/User.java similarity index 96% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/entity/User.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/User.java index 3aae63c..541dfd8 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/User.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/User.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.user.entity; +package com.hideyoshi.backendportfolio.base.auth.entity; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthenticationFilter.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthenticationFilter.java similarity index 90% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthenticationFilter.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthenticationFilter.java index 5886288..73294e4 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthenticationFilter.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthenticationFilter.java @@ -1,10 +1,10 @@ -package com.hideyoshi.backendportfolio.base.security.filter; +package com.hideyoshi.backendportfolio.base.auth.filter; import com.fasterxml.jackson.databind.ObjectMapper; import com.hideyoshi.backendportfolio.base.config.RestAuthenticationEntryPointConfig; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; -import com.hideyoshi.backendportfolio.base.security.service.AuthService; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.auth.service.AuthService; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; import lombok.extern.log4j.Log4j2; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthorizationFilter.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthorizationFilter.java similarity index 96% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthorizationFilter.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthorizationFilter.java index af9132b..f8f0a72 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthorizationFilter.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthorizationFilter.java @@ -1,7 +1,7 @@ -package com.hideyoshi.backendportfolio.base.security.filter; +package com.hideyoshi.backendportfolio.base.auth.filter; import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.base.security.service.AuthService; +import com.hideyoshi.backendportfolio.base.auth.service.AuthService; import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidException; import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidExceptionDetails; import org.springframework.http.HttpStatus; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/interceptor/ConfigInterceptor.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/ConfigInterceptor.java similarity index 89% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/interceptor/ConfigInterceptor.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/ConfigInterceptor.java index 7188701..7e84034 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/interceptor/ConfigInterceptor.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/ConfigInterceptor.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.security.interceptor; +package com.hideyoshi.backendportfolio.base.auth.interceptor; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/interceptor/UserResourceAccessInterceptor.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/UserResourceAccessInterceptor.java similarity index 87% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/interceptor/UserResourceAccessInterceptor.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/UserResourceAccessInterceptor.java index c02f5dc..2742822 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/interceptor/UserResourceAccessInterceptor.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/UserResourceAccessInterceptor.java @@ -1,9 +1,8 @@ -package com.hideyoshi.backendportfolio.base.security.interceptor; +package com.hideyoshi.backendportfolio.base.auth.interceptor; import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.base.user.service.UserService; +import com.hideyoshi.backendportfolio.base.auth.service.UserService; import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidException; -import com.hideyoshi.backendportfolio.util.exception.BadRequestException; import com.hideyoshi.backendportfolio.util.guard.UserResourceGuard; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/model/AuthDTO.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/AuthDTO.java similarity index 78% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/model/AuthDTO.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/model/AuthDTO.java index be9baed..5087e87 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/model/AuthDTO.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/AuthDTO.java @@ -1,11 +1,9 @@ -package com.hideyoshi.backendportfolio.base.security.model; +package com.hideyoshi.backendportfolio.base.auth.model; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.model.TokenDTO; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/model/RoleToUserDTO.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/RoleToUserDTO.java similarity index 67% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/model/RoleToUserDTO.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/model/RoleToUserDTO.java index 260d06f..972231a 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/model/RoleToUserDTO.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/RoleToUserDTO.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.user.model; +package com.hideyoshi.backendportfolio.base.auth.model; import lombok.Data; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/model/TokenDTO.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/TokenDTO.java similarity index 92% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/model/TokenDTO.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/model/TokenDTO.java index 0a033eb..9730067 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/model/TokenDTO.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/TokenDTO.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.user.model; +package com.hideyoshi.backendportfolio.base.auth.model; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/model/UserDTO.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/UserDTO.java similarity index 93% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/model/UserDTO.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/model/UserDTO.java index a1126fa..3090b08 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/model/UserDTO.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/UserDTO.java @@ -1,11 +1,11 @@ -package com.hideyoshi.backendportfolio.base.user.model; +package com.hideyoshi.backendportfolio.base.auth.model; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.entity.User; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.backendportfolio.base.auth.entity.User; import com.hideyoshi.backendportfolio.util.validator.email.unique.UniqueEmail; import com.hideyoshi.backendportfolio.util.validator.email.valid.ValidEmail; import com.hideyoshi.backendportfolio.util.validator.password.ValidPassword; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/GithubOAuthMap.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GithubOAuthMap.java similarity index 80% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/GithubOAuthMap.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GithubOAuthMap.java index 8e53d2c..5ce76dd 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/GithubOAuthMap.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GithubOAuthMap.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.security.oauth.mapper; +package com.hideyoshi.backendportfolio.base.auth.oauth.mapper; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; import lombok.AllArgsConstructor; import org.springframework.security.oauth2.core.user.OAuth2User; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/GoogleOAuthMap.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GoogleOAuthMap.java similarity index 80% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/GoogleOAuthMap.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GoogleOAuthMap.java index a12904c..1cf9ca5 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/GoogleOAuthMap.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GoogleOAuthMap.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.security.oauth.mapper; +package com.hideyoshi.backendportfolio.base.auth.oauth.mapper; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; import lombok.AllArgsConstructor; import org.springframework.security.oauth2.core.user.OAuth2User; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMap.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMap.java new file mode 100644 index 0000000..0f50c65 --- /dev/null +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMap.java @@ -0,0 +1,13 @@ +package com.hideyoshi.backendportfolio.base.auth.oauth.mapper; + +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; + +public interface OAuthMap { + + String getPrincipal(); + + String getProfilePicture(); + + Provider getProvider(); + +} diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapper.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMapper.java similarity index 85% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapper.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMapper.java index 0f9abbb..1126c1e 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapper.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMapper.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.security.oauth.mapper; +package com.hideyoshi.backendportfolio.base.auth.oauth.mapper; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; import lombok.Getter; public enum OAuthMapper { diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/repo/OAuthRequestRepository.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/repo/OAuthRequestRepository.java similarity index 97% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/repo/OAuthRequestRepository.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/repo/OAuthRequestRepository.java index b49a359..977d7bf 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/repo/OAuthRequestRepository.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/repo/OAuthRequestRepository.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.security.oauth.repo; +package com.hideyoshi.backendportfolio.base.auth.oauth.repo; import lombok.extern.log4j.Log4j2; import org.springframework.security.oauth2.client.web.AuthorizationRequestRepository; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepository.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/repo/UserRepository.java similarity index 73% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepository.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/repo/UserRepository.java index e771b17..05fbc41 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepository.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/repo/UserRepository.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.user.repo; +package com.hideyoshi.backendportfolio.base.auth.repo; -import com.hideyoshi.backendportfolio.base.user.entity.User; +import com.hideyoshi.backendportfolio.base.auth.entity.User; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthService.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/service/AuthService.java similarity index 92% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthService.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/service/AuthService.java index 35b6bbb..9b043b1 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthService.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/service/AuthService.java @@ -1,18 +1,16 @@ -package com.hideyoshi.backendportfolio.base.security.service; +package com.hideyoshi.backendportfolio.base.auth.service; import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.DecodedJWT; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; -import com.hideyoshi.backendportfolio.base.security.oauth.mapper.OAuthMap; -import com.hideyoshi.backendportfolio.base.security.oauth.mapper.OAuthMapper; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.model.TokenDTO; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import com.hideyoshi.backendportfolio.base.user.service.UserService; +import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.auth.oauth.mapper.OAuthMap; +import com.hideyoshi.backendportfolio.base.auth.oauth.mapper.OAuthMapper; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.backendportfolio.base.auth.model.TokenDTO; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; import com.hideyoshi.backendportfolio.microservice.storageService.model.StorageServiceDownloadResponse; import com.hideyoshi.backendportfolio.microservice.storageService.service.StorageService; import com.hideyoshi.backendportfolio.util.exception.BadRequestException; @@ -35,7 +33,6 @@ import java.util.*; import java.util.stream.Collectors; import static java.util.Arrays.stream; -import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; @Log4j2 @Service diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceImpl.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/service/UserService.java similarity index 89% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceImpl.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/service/UserService.java index 16a7746..8cbd511 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceImpl.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/service/UserService.java @@ -1,14 +1,15 @@ -package com.hideyoshi.backendportfolio.base.user.service; +package com.hideyoshi.backendportfolio.base.auth.service; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.entity.User; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import com.hideyoshi.backendportfolio.base.user.repo.UserRepository; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.backendportfolio.base.auth.entity.User; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; import com.hideyoshi.backendportfolio.util.exception.BadRequestException; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; @@ -22,13 +23,12 @@ import java.util.stream.Collectors; @Service @Transactional @RequiredArgsConstructor -public class UserServiceImpl implements UserService { +public class UserService implements UserDetailsService { private final UserRepository userRepo; private final PasswordEncoder passwordEncoder; - @Override public UserDTO saveUser(@Valid UserDTO user) { this.userRepo.findByUsername(user.getUsername()).ifPresent(userOnDB -> { @@ -45,7 +45,6 @@ public class UserServiceImpl implements UserService { return userSaved; } - @Override public void alterUser(Long id, @Valid UserDTO user) { this.userRepo.findById(id).ifPresentOrElse(userOnDB -> { @@ -57,7 +56,6 @@ public class UserServiceImpl implements UserService { }); } - @Override public void deleteUser(Long id) { this.userRepo.findById(id).ifPresentOrElse(userOnDB -> { @@ -68,7 +66,6 @@ public class UserServiceImpl implements UserService { } - @Override public void addRoleToUser(Long id, String roleName) { UserDTO userOnDB = this.getUser(id); @@ -89,7 +86,6 @@ public class UserServiceImpl implements UserService { } - @Override public void removeRoleFromUser(Long id, String roleName) { UserDTO userOnDB = this.getUser(id); @@ -109,7 +105,6 @@ public class UserServiceImpl implements UserService { } } - @Override public UserDTO getUser(Long id) { log.info(String.format("Fetching user with id: %o", id)); @@ -119,7 +114,6 @@ public class UserServiceImpl implements UserService { ); } - @Override public UserDTO getUser(String username) { log.info(String.format("Fetching user: %s", username)); @@ -129,7 +123,6 @@ public class UserServiceImpl implements UserService { ); } - @Override public List getUsers() { log.info("Fetching all users."); @@ -138,7 +131,6 @@ public class UserServiceImpl implements UserService { .collect(Collectors.toList()); } - @Override public UserDetails loadUserByUsername(String username) { return this.getUser(username); } diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/config/DefaultUserConfig.java b/src/main/java/com/hideyoshi/backendportfolio/base/config/DefaultUserConfig.java index 8ed808f..7c56ebd 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/config/DefaultUserConfig.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/config/DefaultUserConfig.java @@ -1,10 +1,10 @@ package com.hideyoshi.backendportfolio.base.config; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import com.hideyoshi.backendportfolio.base.user.repo.UserRepository; -import com.hideyoshi.backendportfolio.base.user.service.UserService; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; +import com.hideyoshi.backendportfolio.base.auth.service.UserService; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.context.annotation.Bean; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMap.java b/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMap.java deleted file mode 100644 index 4155572..0000000 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMap.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.hideyoshi.backendportfolio.base.security.oauth.mapper; - -import com.hideyoshi.backendportfolio.base.user.entity.Provider; - -public interface OAuthMap { - - String getPrincipal(); - - String getProfilePicture(); - - Provider getProvider(); - -} diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java b/src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java index 2c2f0b1..01f0305 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java @@ -1,6 +1,6 @@ package com.hideyoshi.backendportfolio.base.session.api; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; import com.hideyoshi.backendportfolio.base.session.service.SessionManagerService; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerService.java b/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerService.java index add7bac..5c8cd0f 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerService.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerService.java @@ -1,6 +1,6 @@ package com.hideyoshi.backendportfolio.base.session.service; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; import javax.servlet.http.HttpSession; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerServiceImpl.java b/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerServiceImpl.java index f2e25ab..ef4a3df 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerServiceImpl.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerServiceImpl.java @@ -1,6 +1,6 @@ package com.hideyoshi.backendportfolio.base.session.service; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/service/UserService.java b/src/main/java/com/hideyoshi/backendportfolio/base/user/service/UserService.java deleted file mode 100644 index 5405ed5..0000000 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/service/UserService.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.hideyoshi.backendportfolio.base.user.service; - -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import org.springframework.security.core.userdetails.UserDetailsService; - -import javax.validation.Valid; -import java.util.List; - -public interface UserService extends UserDetailsService { - - UserDTO saveUser(@Valid UserDTO user); - - void alterUser(Long id, @Valid UserDTO user); - - void deleteUser(Long id); - - void addRoleToUser(Long id, String roleName); - - void removeRoleFromUser(Long id, String roleName); - - UserDTO getUser(Long id); - - UserDTO getUser(String username); - - List getUsers(); -} diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceGuardEnum.java b/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceGuardEnum.java index 68d1974..e5c9da4 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceGuardEnum.java +++ b/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceGuardEnum.java @@ -1,9 +1,9 @@ package com.hideyoshi.backendportfolio.util.guard; import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import com.hideyoshi.backendportfolio.base.user.service.UserService; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.service.UserService; import lombok.Getter; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceValidator.java b/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceValidator.java index f76c33d..e71754c 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceValidator.java +++ b/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceValidator.java @@ -1,6 +1,6 @@ package com.hideyoshi.backendportfolio.util.guard; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; import org.springframework.security.core.context.SecurityContextHolder; import javax.validation.ConstraintValidator; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/unique/EmailUnique.java b/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/unique/EmailUnique.java index 869368f..0982971 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/unique/EmailUnique.java +++ b/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/unique/EmailUnique.java @@ -1,6 +1,6 @@ package com.hideyoshi.backendportfolio.util.validator.email.unique; -import com.hideyoshi.backendportfolio.base.user.repo.UserRepository; +import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; import lombok.RequiredArgsConstructor; import javax.validation.ConstraintValidator; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/PasswordValidator.java b/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/PasswordValidator.java index 4806060..ee5a95a 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/PasswordValidator.java +++ b/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/PasswordValidator.java @@ -1,6 +1,6 @@ package com.hideyoshi.backendportfolio.util.validator.password; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; import lombok.RequiredArgsConstructor; import javax.validation.ConstraintValidator; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/ValidPassword.java b/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/ValidPassword.java index 32e773c..347b3a6 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/ValidPassword.java +++ b/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/ValidPassword.java @@ -1,6 +1,6 @@ package com.hideyoshi.backendportfolio.util.validator.password; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; import javax.validation.Constraint; import javax.validation.Payload; diff --git a/src/test/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepositoryTest.java b/src/test/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepositoryTest.java index d567c6b..35977fb 100644 --- a/src/test/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepositoryTest.java +++ b/src/test/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepositoryTest.java @@ -1,9 +1,10 @@ package com.hideyoshi.backendportfolio.base.user.repo; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.entity.User; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.backendportfolio.base.auth.entity.User; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; import lombok.extern.log4j.Log4j2; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceImplTest.java b/src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceTest.java similarity index 96% rename from src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceImplTest.java rename to src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceTest.java index 0813842..735f594 100644 --- a/src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceImplTest.java +++ b/src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceTest.java @@ -1,10 +1,11 @@ package com.hideyoshi.backendportfolio.base.user.service; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.entity.User; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import com.hideyoshi.backendportfolio.base.user.repo.UserRepository; +import com.hideyoshi.backendportfolio.base.auth.service.UserService; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.backendportfolio.base.auth.entity.User; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; import com.hideyoshi.backendportfolio.util.exception.BadRequestException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -31,9 +32,9 @@ import static org.mockito.Mockito.verify; @DataJpaTest @ExtendWith(MockitoExtension.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) -class UserServiceImplTest { +class UserServiceTest { - private UserServiceImpl underTest; + private UserService underTest; @Mock private UserRepository userRepository; @@ -42,7 +43,7 @@ class UserServiceImplTest { @BeforeEach void setUp() { PasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); - this.underTest = new UserServiceImpl(userRepository, passwordEncoder); + this.underTest = new UserService(userRepository, passwordEncoder); } @Test From cc5c5cf7554cae7c2890e505e246271e3737e39b Mon Sep 17 00:00:00 2001 From: Vitor Hideyoshi Nakazone Batista Date: Sat, 24 Feb 2024 02:48:01 -0300 Subject: [PATCH 4/4] Changes the Project Name to com.hideyoshi.auth From now onward this project with be only for authentication of users of the Hideyoshi.com project. All other APIs and MicroServices will use this project to validate user identity --- pom.xml | 6 ++--- .../BackendPortfolioApplication.java | 2 +- .../base/auth/api/UserController.java | 24 +++++++++---------- .../base/auth/config/SecurityConfig.java | 16 ++++++------- .../base/auth/entity/Provider.java | 2 +- .../base/auth/entity/Role.java | 2 +- .../base/auth/entity/User.java | 2 +- .../filter/CustomAuthenticationFilter.java | 10 ++++---- .../filter/CustomAuthorizationFilter.java | 8 +++---- .../auth/interceptor/ConfigInterceptor.java | 2 +- .../UserResourceAccessInterceptor.java | 8 +++---- .../base/auth/model/AuthDTO.java | 6 ++--- .../base/auth/model/RoleToUserDTO.java | 2 +- .../base/auth/model/TokenDTO.java | 2 +- .../base/auth/model/UserDTO.java | 14 +++++------ .../auth/oauth/mapper/GithubOAuthMap.java | 4 ++-- .../auth/oauth/mapper/GoogleOAuthMap.java | 4 ++-- .../auth/base/auth/oauth/mapper/OAuthMap.java | 13 ++++++++++ .../base/auth/oauth/mapper/OAuthMapper.java | 4 ++-- .../oauth/repo/OAuthRequestRepository.java | 2 +- .../base/auth/repo/UserRepository.java | 4 ++-- .../base/auth/service/AuthService.java | 22 ++++++++--------- .../base/auth/service/UserService.java | 14 +++++------ .../base/config/CorsConfig.java | 2 +- .../base/config/DefaultUserConfig.java | 12 +++++----- .../RestAuthenticationEntryPointConfig.java | 4 ++-- .../base/config/SessionConfig.java | 2 +- .../base/session/api/SessionController.java | 6 ++--- .../service/SessionManagerService.java | 4 ++-- .../service/SessionManagerServiceImpl.java | 4 ++-- .../api/HealthCheckerController.java | 6 ++--- .../config/StorageServiceConfig.java | 2 +- .../storageService/enums/FileTypeEnum.java | 4 ++-- .../enums/FileTypeEnumConverter.java | 2 +- .../model/StorageServiceDownloadResponse.java | 2 +- .../model/StorageServiceUploadResponse.java | 2 +- .../service/StorageService.java | 10 ++++---- .../AuthenticationInvalidException.java | 2 +- ...AuthenticationInvalidExceptionDetails.java | 2 +- .../util/exception/BadRequestException.java | 2 +- .../exception/BadRequestExceptionDetails.java | 2 +- .../util/exception/ExceptionDetails.java | 2 +- .../exception/ValidationExceptionDetails.java | 2 +- .../util/guard/UserResourceGuard.java | 2 +- .../util/guard/UserResourceGuardEnum.java | 8 +++---- .../util/guard/UserResourceValidator.java | 4 ++-- .../util/handler/RestExceptionHandler.java | 4 ++-- .../validator/email/unique/EmailUnique.java | 4 ++-- .../validator/email/unique/UniqueEmail.java | 2 +- .../validator/email/valid/EmailValidator.java | 2 +- .../validator/email/valid/ValidEmail.java | 2 +- .../validator/password/PasswordValidator.java | 4 ++-- .../validator/password/ValidPassword.java | 4 ++-- .../base/auth/oauth/mapper/OAuthMap.java | 13 ---------- .../BackendPortfolioApplicationTests.java | 2 +- .../base/user/repo/UserRepositoryTest.java | 12 +++++----- .../base/user/service/UserServiceTest.java | 16 ++++++------- .../service/StorageServiceTest.java | 10 ++++---- 58 files changed, 168 insertions(+), 168 deletions(-) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/BackendPortfolioApplication.java (93%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/api/UserController.java (82%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/config/SecurityConfig.java (88%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/entity/Provider.java (89%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/entity/Role.java (91%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/entity/User.java (96%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/filter/CustomAuthenticationFilter.java (88%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/filter/CustomAuthorizationFilter.java (91%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/interceptor/ConfigInterceptor.java (90%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/interceptor/UserResourceAccessInterceptor.java (82%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/model/AuthDTO.java (86%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/model/RoleToUserDTO.java (67%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/model/TokenDTO.java (92%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/model/UserDTO.java (86%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/oauth/mapper/GithubOAuthMap.java (80%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/oauth/mapper/GoogleOAuthMap.java (80%) create mode 100644 src/main/java/com/hideyoshi/auth/base/auth/oauth/mapper/OAuthMap.java rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/oauth/mapper/OAuthMapper.java (85%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/oauth/repo/OAuthRequestRepository.java (97%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/repo/UserRepository.java (73%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/service/AuthService.java (91%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/auth/service/UserService.java (91%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/config/CorsConfig.java (96%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/config/DefaultUserConfig.java (80%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/config/RestAuthenticationEntryPointConfig.java (89%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/config/SessionConfig.java (93%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/session/api/SessionController.java (84%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/session/service/SessionManagerService.java (59%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/base/session/service/SessionManagerServiceImpl.java (79%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/healthChecker/api/HealthCheckerController.java (77%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/microservice/storageService/config/StorageServiceConfig.java (80%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/microservice/storageService/enums/FileTypeEnum.java (80%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/microservice/storageService/enums/FileTypeEnumConverter.java (81%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/microservice/storageService/model/StorageServiceDownloadResponse.java (80%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/microservice/storageService/model/StorageServiceUploadResponse.java (83%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/microservice/storageService/service/StorageService.java (93%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/exception/AuthenticationInvalidException.java (85%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/exception/AuthenticationInvalidExceptionDetails.java (87%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/exception/BadRequestException.java (84%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/exception/BadRequestExceptionDetails.java (88%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/exception/ExceptionDetails.java (92%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/exception/ValidationExceptionDetails.java (92%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/guard/UserResourceGuard.java (85%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/guard/UserResourceGuardEnum.java (93%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/guard/UserResourceValidator.java (85%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/handler/RestExceptionHandler.java (97%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/validator/email/unique/EmailUnique.java (86%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/validator/email/unique/UniqueEmail.java (89%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/validator/email/valid/EmailValidator.java (93%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/validator/email/valid/ValidEmail.java (89%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/validator/password/PasswordValidator.java (87%) rename src/main/java/com/hideyoshi/{backendportfolio => auth}/util/validator/password/ValidPassword.java (85%) delete mode 100644 src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMap.java rename src/test/java/com/hideyoshi/{backendportfolio => auth}/BackendPortfolioApplicationTests.java (83%) rename src/test/java/com/hideyoshi/{backendportfolio => auth}/base/user/repo/UserRepositoryTest.java (83%) rename src/test/java/com/hideyoshi/{backendportfolio => auth}/base/user/service/UserServiceTest.java (96%) rename src/test/java/com/hideyoshi/{backendportfolio => auth}/microservice/storageService/service/StorageServiceTest.java (92%) diff --git a/pom.xml b/pom.xml index 40ed121..f00a780 100644 --- a/pom.xml +++ b/pom.xml @@ -9,10 +9,10 @@ com.hideyoshi - backend-api + auth-api 0.0.1-SNAPSHOT - backend-api - Backend API + auth-api + Auth API for the Hideyoshi.com Project 17 diff --git a/src/main/java/com/hideyoshi/backendportfolio/BackendPortfolioApplication.java b/src/main/java/com/hideyoshi/auth/BackendPortfolioApplication.java similarity index 93% rename from src/main/java/com/hideyoshi/backendportfolio/BackendPortfolioApplication.java rename to src/main/java/com/hideyoshi/auth/BackendPortfolioApplication.java index e0737e6..939a42d 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/BackendPortfolioApplication.java +++ b/src/main/java/com/hideyoshi/auth/BackendPortfolioApplication.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio; +package com.hideyoshi.auth; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/api/UserController.java b/src/main/java/com/hideyoshi/auth/base/auth/api/UserController.java similarity index 82% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/api/UserController.java rename to src/main/java/com/hideyoshi/auth/base/auth/api/UserController.java index a70ddae..d0e1d08 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/api/UserController.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/api/UserController.java @@ -1,16 +1,16 @@ -package com.hideyoshi.backendportfolio.base.auth.api; +package com.hideyoshi.auth.base.auth.api; -import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; -import com.hideyoshi.backendportfolio.base.auth.service.AuthService; -import com.hideyoshi.backendportfolio.base.auth.model.TokenDTO; -import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; -import com.hideyoshi.backendportfolio.base.auth.service.UserService; -import com.hideyoshi.backendportfolio.microservice.storageService.enums.FileTypeEnum; -import com.hideyoshi.backendportfolio.microservice.storageService.model.StorageServiceUploadResponse; -import com.hideyoshi.backendportfolio.microservice.storageService.service.StorageService; -import com.hideyoshi.backendportfolio.util.exception.BadRequestException; -import com.hideyoshi.backendportfolio.util.guard.UserResourceGuard; -import com.hideyoshi.backendportfolio.util.guard.UserResourceGuardEnum; +import com.hideyoshi.auth.base.auth.model.AuthDTO; +import com.hideyoshi.auth.base.auth.service.AuthService; +import com.hideyoshi.auth.base.auth.model.TokenDTO; +import com.hideyoshi.auth.base.auth.model.UserDTO; +import com.hideyoshi.auth.base.auth.service.UserService; +import com.hideyoshi.auth.microservice.storageService.enums.FileTypeEnum; +import com.hideyoshi.auth.microservice.storageService.model.StorageServiceUploadResponse; +import com.hideyoshi.auth.microservice.storageService.service.StorageService; +import com.hideyoshi.auth.util.exception.BadRequestException; +import com.hideyoshi.auth.util.guard.UserResourceGuard; +import com.hideyoshi.auth.util.guard.UserResourceGuardEnum; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springframework.http.HttpStatus; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/config/SecurityConfig.java b/src/main/java/com/hideyoshi/auth/base/auth/config/SecurityConfig.java similarity index 88% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/config/SecurityConfig.java rename to src/main/java/com/hideyoshi/auth/base/auth/config/SecurityConfig.java index 55a79bf..8a56360 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/config/SecurityConfig.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/config/SecurityConfig.java @@ -1,13 +1,13 @@ -package com.hideyoshi.backendportfolio.base.auth.config; +package com.hideyoshi.auth.base.auth.config; import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.base.config.RestAuthenticationEntryPointConfig; -import com.hideyoshi.backendportfolio.base.auth.filter.CustomAuthenticationFilter; -import com.hideyoshi.backendportfolio.base.auth.filter.CustomAuthorizationFilter; -import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; -import com.hideyoshi.backendportfolio.base.auth.oauth.repo.OAuthRequestRepository; -import com.hideyoshi.backendportfolio.base.auth.service.AuthService; -import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidException; +import com.hideyoshi.auth.base.config.RestAuthenticationEntryPointConfig; +import com.hideyoshi.auth.base.auth.filter.CustomAuthenticationFilter; +import com.hideyoshi.auth.base.auth.filter.CustomAuthorizationFilter; +import com.hideyoshi.auth.base.auth.model.AuthDTO; +import com.hideyoshi.auth.base.auth.oauth.repo.OAuthRequestRepository; +import com.hideyoshi.auth.base.auth.service.AuthService; +import com.hideyoshi.auth.util.exception.AuthenticationInvalidException; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springframework.context.annotation.Bean; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Provider.java b/src/main/java/com/hideyoshi/auth/base/auth/entity/Provider.java similarity index 89% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Provider.java rename to src/main/java/com/hideyoshi/auth/base/auth/entity/Provider.java index 7e46909..66bd7bb 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Provider.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/entity/Provider.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.auth.entity; +package com.hideyoshi.auth.base.auth.entity; import lombok.Getter; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Role.java b/src/main/java/com/hideyoshi/auth/base/auth/entity/Role.java similarity index 91% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Role.java rename to src/main/java/com/hideyoshi/auth/base/auth/entity/Role.java index ece6638..301f949 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Role.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/entity/Role.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.auth.entity; +package com.hideyoshi.auth.base.auth.entity; import com.fasterxml.jackson.annotation.JsonValue; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/User.java b/src/main/java/com/hideyoshi/auth/base/auth/entity/User.java similarity index 96% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/User.java rename to src/main/java/com/hideyoshi/auth/base/auth/entity/User.java index 541dfd8..9a05b9a 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/User.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/entity/User.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.auth.entity; +package com.hideyoshi.auth.base.auth.entity; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthenticationFilter.java b/src/main/java/com/hideyoshi/auth/base/auth/filter/CustomAuthenticationFilter.java similarity index 88% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthenticationFilter.java rename to src/main/java/com/hideyoshi/auth/base/auth/filter/CustomAuthenticationFilter.java index 73294e4..d948f92 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthenticationFilter.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/filter/CustomAuthenticationFilter.java @@ -1,10 +1,10 @@ -package com.hideyoshi.backendportfolio.base.auth.filter; +package com.hideyoshi.auth.base.auth.filter; import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.base.config.RestAuthenticationEntryPointConfig; -import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; -import com.hideyoshi.backendportfolio.base.auth.service.AuthService; -import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; +import com.hideyoshi.auth.base.config.RestAuthenticationEntryPointConfig; +import com.hideyoshi.auth.base.auth.model.AuthDTO; +import com.hideyoshi.auth.base.auth.service.AuthService; +import com.hideyoshi.auth.base.auth.model.UserDTO; import lombok.extern.log4j.Log4j2; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthorizationFilter.java b/src/main/java/com/hideyoshi/auth/base/auth/filter/CustomAuthorizationFilter.java similarity index 91% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthorizationFilter.java rename to src/main/java/com/hideyoshi/auth/base/auth/filter/CustomAuthorizationFilter.java index f8f0a72..6418445 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthorizationFilter.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/filter/CustomAuthorizationFilter.java @@ -1,9 +1,9 @@ -package com.hideyoshi.backendportfolio.base.auth.filter; +package com.hideyoshi.auth.base.auth.filter; import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.base.auth.service.AuthService; -import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidException; -import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidExceptionDetails; +import com.hideyoshi.auth.base.auth.service.AuthService; +import com.hideyoshi.auth.util.exception.AuthenticationInvalidException; +import com.hideyoshi.auth.util.exception.AuthenticationInvalidExceptionDetails; import org.springframework.http.HttpStatus; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.context.SecurityContextHolder; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/ConfigInterceptor.java b/src/main/java/com/hideyoshi/auth/base/auth/interceptor/ConfigInterceptor.java similarity index 90% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/ConfigInterceptor.java rename to src/main/java/com/hideyoshi/auth/base/auth/interceptor/ConfigInterceptor.java index 7e84034..ec02fe4 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/ConfigInterceptor.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/interceptor/ConfigInterceptor.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.auth.interceptor; +package com.hideyoshi.auth.base.auth.interceptor; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/UserResourceAccessInterceptor.java b/src/main/java/com/hideyoshi/auth/base/auth/interceptor/UserResourceAccessInterceptor.java similarity index 82% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/UserResourceAccessInterceptor.java rename to src/main/java/com/hideyoshi/auth/base/auth/interceptor/UserResourceAccessInterceptor.java index 2742822..f44c442 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/UserResourceAccessInterceptor.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/interceptor/UserResourceAccessInterceptor.java @@ -1,9 +1,9 @@ -package com.hideyoshi.backendportfolio.base.auth.interceptor; +package com.hideyoshi.auth.base.auth.interceptor; import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.base.auth.service.UserService; -import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidException; -import com.hideyoshi.backendportfolio.util.guard.UserResourceGuard; +import com.hideyoshi.auth.base.auth.service.UserService; +import com.hideyoshi.auth.util.exception.AuthenticationInvalidException; +import com.hideyoshi.auth.util.guard.UserResourceGuard; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springframework.stereotype.Component; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/AuthDTO.java b/src/main/java/com/hideyoshi/auth/base/auth/model/AuthDTO.java similarity index 86% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/model/AuthDTO.java rename to src/main/java/com/hideyoshi/auth/base/auth/model/AuthDTO.java index 5087e87..7519504 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/AuthDTO.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/model/AuthDTO.java @@ -1,9 +1,9 @@ -package com.hideyoshi.backendportfolio.base.auth.model; +package com.hideyoshi.auth.base.auth.model; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.hideyoshi.backendportfolio.base.auth.entity.Provider; -import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.auth.base.auth.entity.Provider; +import com.hideyoshi.auth.base.auth.entity.Role; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/RoleToUserDTO.java b/src/main/java/com/hideyoshi/auth/base/auth/model/RoleToUserDTO.java similarity index 67% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/model/RoleToUserDTO.java rename to src/main/java/com/hideyoshi/auth/base/auth/model/RoleToUserDTO.java index 972231a..2c81b70 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/RoleToUserDTO.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/model/RoleToUserDTO.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.auth.model; +package com.hideyoshi.auth.base.auth.model; import lombok.Data; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/TokenDTO.java b/src/main/java/com/hideyoshi/auth/base/auth/model/TokenDTO.java similarity index 92% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/model/TokenDTO.java rename to src/main/java/com/hideyoshi/auth/base/auth/model/TokenDTO.java index 9730067..106dfc9 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/TokenDTO.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/model/TokenDTO.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.auth.model; +package com.hideyoshi.auth.base.auth.model; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/UserDTO.java b/src/main/java/com/hideyoshi/auth/base/auth/model/UserDTO.java similarity index 86% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/model/UserDTO.java rename to src/main/java/com/hideyoshi/auth/base/auth/model/UserDTO.java index 3090b08..b1d4a8b 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/UserDTO.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/model/UserDTO.java @@ -1,14 +1,14 @@ -package com.hideyoshi.backendportfolio.base.auth.model; +package com.hideyoshi.auth.base.auth.model; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.hideyoshi.backendportfolio.base.auth.entity.Provider; -import com.hideyoshi.backendportfolio.base.auth.entity.Role; -import com.hideyoshi.backendportfolio.base.auth.entity.User; -import com.hideyoshi.backendportfolio.util.validator.email.unique.UniqueEmail; -import com.hideyoshi.backendportfolio.util.validator.email.valid.ValidEmail; -import com.hideyoshi.backendportfolio.util.validator.password.ValidPassword; +import com.hideyoshi.auth.base.auth.entity.Provider; +import com.hideyoshi.auth.base.auth.entity.Role; +import com.hideyoshi.auth.base.auth.entity.User; +import com.hideyoshi.auth.util.validator.email.unique.UniqueEmail; +import com.hideyoshi.auth.util.validator.email.valid.ValidEmail; +import com.hideyoshi.auth.util.validator.password.ValidPassword; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GithubOAuthMap.java b/src/main/java/com/hideyoshi/auth/base/auth/oauth/mapper/GithubOAuthMap.java similarity index 80% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GithubOAuthMap.java rename to src/main/java/com/hideyoshi/auth/base/auth/oauth/mapper/GithubOAuthMap.java index 5ce76dd..cab42bf 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GithubOAuthMap.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/oauth/mapper/GithubOAuthMap.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.auth.oauth.mapper; +package com.hideyoshi.auth.base.auth.oauth.mapper; -import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.auth.base.auth.entity.Provider; import lombok.AllArgsConstructor; import org.springframework.security.oauth2.core.user.OAuth2User; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GoogleOAuthMap.java b/src/main/java/com/hideyoshi/auth/base/auth/oauth/mapper/GoogleOAuthMap.java similarity index 80% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GoogleOAuthMap.java rename to src/main/java/com/hideyoshi/auth/base/auth/oauth/mapper/GoogleOAuthMap.java index 1cf9ca5..d0b6272 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GoogleOAuthMap.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/oauth/mapper/GoogleOAuthMap.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.auth.oauth.mapper; +package com.hideyoshi.auth.base.auth.oauth.mapper; -import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.auth.base.auth.entity.Provider; import lombok.AllArgsConstructor; import org.springframework.security.oauth2.core.user.OAuth2User; diff --git a/src/main/java/com/hideyoshi/auth/base/auth/oauth/mapper/OAuthMap.java b/src/main/java/com/hideyoshi/auth/base/auth/oauth/mapper/OAuthMap.java new file mode 100644 index 0000000..6b96271 --- /dev/null +++ b/src/main/java/com/hideyoshi/auth/base/auth/oauth/mapper/OAuthMap.java @@ -0,0 +1,13 @@ +package com.hideyoshi.auth.base.auth.oauth.mapper; + +import com.hideyoshi.auth.base.auth.entity.Provider; + +public interface OAuthMap { + + String getPrincipal(); + + String getProfilePicture(); + + Provider getProvider(); + +} diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMapper.java b/src/main/java/com/hideyoshi/auth/base/auth/oauth/mapper/OAuthMapper.java similarity index 85% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMapper.java rename to src/main/java/com/hideyoshi/auth/base/auth/oauth/mapper/OAuthMapper.java index 1126c1e..f35c191 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMapper.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/oauth/mapper/OAuthMapper.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.auth.oauth.mapper; +package com.hideyoshi.auth.base.auth.oauth.mapper; -import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.auth.base.auth.entity.Provider; import lombok.Getter; public enum OAuthMapper { diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/repo/OAuthRequestRepository.java b/src/main/java/com/hideyoshi/auth/base/auth/oauth/repo/OAuthRequestRepository.java similarity index 97% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/repo/OAuthRequestRepository.java rename to src/main/java/com/hideyoshi/auth/base/auth/oauth/repo/OAuthRequestRepository.java index 977d7bf..d2ebed9 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/repo/OAuthRequestRepository.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/oauth/repo/OAuthRequestRepository.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.auth.oauth.repo; +package com.hideyoshi.auth.base.auth.oauth.repo; import lombok.extern.log4j.Log4j2; import org.springframework.security.oauth2.client.web.AuthorizationRequestRepository; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/repo/UserRepository.java b/src/main/java/com/hideyoshi/auth/base/auth/repo/UserRepository.java similarity index 73% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/repo/UserRepository.java rename to src/main/java/com/hideyoshi/auth/base/auth/repo/UserRepository.java index 05fbc41..f62bba9 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/repo/UserRepository.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/repo/UserRepository.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.auth.repo; +package com.hideyoshi.auth.base.auth.repo; -import com.hideyoshi.backendportfolio.base.auth.entity.User; +import com.hideyoshi.auth.base.auth.entity.User; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/service/AuthService.java b/src/main/java/com/hideyoshi/auth/base/auth/service/AuthService.java similarity index 91% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/service/AuthService.java rename to src/main/java/com/hideyoshi/auth/base/auth/service/AuthService.java index 9b043b1..dd47aae 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/service/AuthService.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/service/AuthService.java @@ -1,19 +1,19 @@ -package com.hideyoshi.backendportfolio.base.auth.service; +package com.hideyoshi.auth.base.auth.service; import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.DecodedJWT; -import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; -import com.hideyoshi.backendportfolio.base.auth.oauth.mapper.OAuthMap; -import com.hideyoshi.backendportfolio.base.auth.oauth.mapper.OAuthMapper; -import com.hideyoshi.backendportfolio.base.auth.entity.Provider; -import com.hideyoshi.backendportfolio.base.auth.entity.Role; -import com.hideyoshi.backendportfolio.base.auth.model.TokenDTO; -import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; -import com.hideyoshi.backendportfolio.microservice.storageService.model.StorageServiceDownloadResponse; -import com.hideyoshi.backendportfolio.microservice.storageService.service.StorageService; -import com.hideyoshi.backendportfolio.util.exception.BadRequestException; +import com.hideyoshi.auth.base.auth.model.AuthDTO; +import com.hideyoshi.auth.base.auth.oauth.mapper.OAuthMap; +import com.hideyoshi.auth.base.auth.oauth.mapper.OAuthMapper; +import com.hideyoshi.auth.base.auth.entity.Provider; +import com.hideyoshi.auth.base.auth.entity.Role; +import com.hideyoshi.auth.base.auth.model.TokenDTO; +import com.hideyoshi.auth.base.auth.model.UserDTO; +import com.hideyoshi.auth.microservice.storageService.model.StorageServiceDownloadResponse; +import com.hideyoshi.auth.microservice.storageService.service.StorageService; +import com.hideyoshi.auth.util.exception.BadRequestException; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Value; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/service/UserService.java b/src/main/java/com/hideyoshi/auth/base/auth/service/UserService.java similarity index 91% rename from src/main/java/com/hideyoshi/backendportfolio/base/auth/service/UserService.java rename to src/main/java/com/hideyoshi/auth/base/auth/service/UserService.java index 8cbd511..1f74c54 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/service/UserService.java +++ b/src/main/java/com/hideyoshi/auth/base/auth/service/UserService.java @@ -1,11 +1,11 @@ -package com.hideyoshi.backendportfolio.base.auth.service; +package com.hideyoshi.auth.base.auth.service; -import com.hideyoshi.backendportfolio.base.auth.entity.Provider; -import com.hideyoshi.backendportfolio.base.auth.entity.Role; -import com.hideyoshi.backendportfolio.base.auth.entity.User; -import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; -import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; -import com.hideyoshi.backendportfolio.util.exception.BadRequestException; +import com.hideyoshi.auth.base.auth.entity.Provider; +import com.hideyoshi.auth.base.auth.entity.Role; +import com.hideyoshi.auth.base.auth.entity.User; +import com.hideyoshi.auth.base.auth.model.UserDTO; +import com.hideyoshi.auth.base.auth.repo.UserRepository; +import com.hideyoshi.auth.util.exception.BadRequestException; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springframework.security.core.userdetails.UserDetails; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/config/CorsConfig.java b/src/main/java/com/hideyoshi/auth/base/config/CorsConfig.java similarity index 96% rename from src/main/java/com/hideyoshi/backendportfolio/base/config/CorsConfig.java rename to src/main/java/com/hideyoshi/auth/base/config/CorsConfig.java index 3a3e2a5..81ceb00 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/config/CorsConfig.java +++ b/src/main/java/com/hideyoshi/auth/base/config/CorsConfig.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.config; +package com.hideyoshi.auth.base.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/config/DefaultUserConfig.java b/src/main/java/com/hideyoshi/auth/base/config/DefaultUserConfig.java similarity index 80% rename from src/main/java/com/hideyoshi/backendportfolio/base/config/DefaultUserConfig.java rename to src/main/java/com/hideyoshi/auth/base/config/DefaultUserConfig.java index 7c56ebd..f75b839 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/config/DefaultUserConfig.java +++ b/src/main/java/com/hideyoshi/auth/base/config/DefaultUserConfig.java @@ -1,10 +1,10 @@ -package com.hideyoshi.backendportfolio.base.config; +package com.hideyoshi.auth.base.config; -import com.hideyoshi.backendportfolio.base.auth.entity.Provider; -import com.hideyoshi.backendportfolio.base.auth.entity.Role; -import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; -import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; -import com.hideyoshi.backendportfolio.base.auth.service.UserService; +import com.hideyoshi.auth.base.auth.entity.Provider; +import com.hideyoshi.auth.base.auth.entity.Role; +import com.hideyoshi.auth.base.auth.model.UserDTO; +import com.hideyoshi.auth.base.auth.repo.UserRepository; +import com.hideyoshi.auth.base.auth.service.UserService; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.context.annotation.Bean; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/config/RestAuthenticationEntryPointConfig.java b/src/main/java/com/hideyoshi/auth/base/config/RestAuthenticationEntryPointConfig.java similarity index 89% rename from src/main/java/com/hideyoshi/backendportfolio/base/config/RestAuthenticationEntryPointConfig.java rename to src/main/java/com/hideyoshi/auth/base/config/RestAuthenticationEntryPointConfig.java index 81ac67e..c8c046d 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/config/RestAuthenticationEntryPointConfig.java +++ b/src/main/java/com/hideyoshi/auth/base/config/RestAuthenticationEntryPointConfig.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.config; +package com.hideyoshi.auth.base.config; -import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidException; +import com.hideyoshi.auth.util.exception.AuthenticationInvalidException; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/config/SessionConfig.java b/src/main/java/com/hideyoshi/auth/base/config/SessionConfig.java similarity index 93% rename from src/main/java/com/hideyoshi/backendportfolio/base/config/SessionConfig.java rename to src/main/java/com/hideyoshi/auth/base/config/SessionConfig.java index 1185c88..9373f75 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/config/SessionConfig.java +++ b/src/main/java/com/hideyoshi/auth/base/config/SessionConfig.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.config; +package com.hideyoshi.auth.base.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java b/src/main/java/com/hideyoshi/auth/base/session/api/SessionController.java similarity index 84% rename from src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java rename to src/main/java/com/hideyoshi/auth/base/session/api/SessionController.java index 01f0305..81fe4a8 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java +++ b/src/main/java/com/hideyoshi/auth/base/session/api/SessionController.java @@ -1,7 +1,7 @@ -package com.hideyoshi.backendportfolio.base.session.api; +package com.hideyoshi.auth.base.session.api; -import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; -import com.hideyoshi.backendportfolio.base.session.service.SessionManagerService; +import com.hideyoshi.auth.base.auth.model.AuthDTO; +import com.hideyoshi.auth.base.session.service.SessionManagerService; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerService.java b/src/main/java/com/hideyoshi/auth/base/session/service/SessionManagerService.java similarity index 59% rename from src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerService.java rename to src/main/java/com/hideyoshi/auth/base/session/service/SessionManagerService.java index 5c8cd0f..689d3f4 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerService.java +++ b/src/main/java/com/hideyoshi/auth/base/session/service/SessionManagerService.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.session.service; +package com.hideyoshi.auth.base.session.service; -import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; +import com.hideyoshi.auth.base.auth.model.AuthDTO; import javax.servlet.http.HttpSession; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerServiceImpl.java b/src/main/java/com/hideyoshi/auth/base/session/service/SessionManagerServiceImpl.java similarity index 79% rename from src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerServiceImpl.java rename to src/main/java/com/hideyoshi/auth/base/session/service/SessionManagerServiceImpl.java index ef4a3df..fc907e5 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerServiceImpl.java +++ b/src/main/java/com/hideyoshi/auth/base/session/service/SessionManagerServiceImpl.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.session.service; +package com.hideyoshi.auth.base.session.service; -import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; +import com.hideyoshi.auth.base.auth.model.AuthDTO; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/hideyoshi/backendportfolio/healthChecker/api/HealthCheckerController.java b/src/main/java/com/hideyoshi/auth/healthChecker/api/HealthCheckerController.java similarity index 77% rename from src/main/java/com/hideyoshi/backendportfolio/healthChecker/api/HealthCheckerController.java rename to src/main/java/com/hideyoshi/auth/healthChecker/api/HealthCheckerController.java index b24ed1e..0dd6ed0 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/healthChecker/api/HealthCheckerController.java +++ b/src/main/java/com/hideyoshi/auth/healthChecker/api/HealthCheckerController.java @@ -1,8 +1,8 @@ -package com.hideyoshi.backendportfolio.healthChecker.api; +package com.hideyoshi.auth.healthChecker.api; -import com.hideyoshi.backendportfolio.util.guard.UserResourceGuard; -import com.hideyoshi.backendportfolio.util.guard.UserResourceGuardEnum; +import com.hideyoshi.auth.util.guard.UserResourceGuard; +import com.hideyoshi.auth.util.guard.UserResourceGuardEnum; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springframework.http.ResponseEntity; diff --git a/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/config/StorageServiceConfig.java b/src/main/java/com/hideyoshi/auth/microservice/storageService/config/StorageServiceConfig.java similarity index 80% rename from src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/config/StorageServiceConfig.java rename to src/main/java/com/hideyoshi/auth/microservice/storageService/config/StorageServiceConfig.java index 4e5a9ca..4212588 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/config/StorageServiceConfig.java +++ b/src/main/java/com/hideyoshi/auth/microservice/storageService/config/StorageServiceConfig.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.microservice.storageService.config; +package com.hideyoshi.auth.microservice.storageService.config; import lombok.Getter; import org.springframework.beans.factory.annotation.Value; diff --git a/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/enums/FileTypeEnum.java b/src/main/java/com/hideyoshi/auth/microservice/storageService/enums/FileTypeEnum.java similarity index 80% rename from src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/enums/FileTypeEnum.java rename to src/main/java/com/hideyoshi/auth/microservice/storageService/enums/FileTypeEnum.java index 0695d5a..29378a3 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/enums/FileTypeEnum.java +++ b/src/main/java/com/hideyoshi/auth/microservice/storageService/enums/FileTypeEnum.java @@ -1,7 +1,7 @@ -package com.hideyoshi.backendportfolio.microservice.storageService.enums; +package com.hideyoshi.auth.microservice.storageService.enums; import com.fasterxml.jackson.annotation.JsonFormat; -import com.hideyoshi.backendportfolio.util.exception.BadRequestException; +import com.hideyoshi.auth.util.exception.BadRequestException; import lombok.Getter; @Getter diff --git a/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/enums/FileTypeEnumConverter.java b/src/main/java/com/hideyoshi/auth/microservice/storageService/enums/FileTypeEnumConverter.java similarity index 81% rename from src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/enums/FileTypeEnumConverter.java rename to src/main/java/com/hideyoshi/auth/microservice/storageService/enums/FileTypeEnumConverter.java index 49f2365..696de59 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/enums/FileTypeEnumConverter.java +++ b/src/main/java/com/hideyoshi/auth/microservice/storageService/enums/FileTypeEnumConverter.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.microservice.storageService.enums; +package com.hideyoshi.auth.microservice.storageService.enums; import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; diff --git a/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/model/StorageServiceDownloadResponse.java b/src/main/java/com/hideyoshi/auth/microservice/storageService/model/StorageServiceDownloadResponse.java similarity index 80% rename from src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/model/StorageServiceDownloadResponse.java rename to src/main/java/com/hideyoshi/auth/microservice/storageService/model/StorageServiceDownloadResponse.java index 73dd073..f6fe914 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/model/StorageServiceDownloadResponse.java +++ b/src/main/java/com/hideyoshi/auth/microservice/storageService/model/StorageServiceDownloadResponse.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.microservice.storageService.model; +package com.hideyoshi.auth.microservice.storageService.model; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/model/StorageServiceUploadResponse.java b/src/main/java/com/hideyoshi/auth/microservice/storageService/model/StorageServiceUploadResponse.java similarity index 83% rename from src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/model/StorageServiceUploadResponse.java rename to src/main/java/com/hideyoshi/auth/microservice/storageService/model/StorageServiceUploadResponse.java index be9009b..5a220f2 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/model/StorageServiceUploadResponse.java +++ b/src/main/java/com/hideyoshi/auth/microservice/storageService/model/StorageServiceUploadResponse.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.microservice.storageService.model; +package com.hideyoshi.auth.microservice.storageService.model; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/service/StorageService.java b/src/main/java/com/hideyoshi/auth/microservice/storageService/service/StorageService.java similarity index 93% rename from src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/service/StorageService.java rename to src/main/java/com/hideyoshi/auth/microservice/storageService/service/StorageService.java index 8b19020..4560382 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/microservice/storageService/service/StorageService.java +++ b/src/main/java/com/hideyoshi/auth/microservice/storageService/service/StorageService.java @@ -1,11 +1,11 @@ -package com.hideyoshi.backendportfolio.microservice.storageService.service; +package com.hideyoshi.auth.microservice.storageService.service; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.microservice.storageService.config.StorageServiceConfig; -import com.hideyoshi.backendportfolio.microservice.storageService.enums.FileTypeEnum; -import com.hideyoshi.backendportfolio.microservice.storageService.model.StorageServiceDownloadResponse; -import com.hideyoshi.backendportfolio.microservice.storageService.model.StorageServiceUploadResponse; +import com.hideyoshi.auth.microservice.storageService.config.StorageServiceConfig; +import com.hideyoshi.auth.microservice.storageService.enums.FileTypeEnum; +import com.hideyoshi.auth.microservice.storageService.model.StorageServiceDownloadResponse; +import com.hideyoshi.auth.microservice.storageService.model.StorageServiceUploadResponse; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.apache.http.client.methods.HttpDelete; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/exception/AuthenticationInvalidException.java b/src/main/java/com/hideyoshi/auth/util/exception/AuthenticationInvalidException.java similarity index 85% rename from src/main/java/com/hideyoshi/backendportfolio/util/exception/AuthenticationInvalidException.java rename to src/main/java/com/hideyoshi/auth/util/exception/AuthenticationInvalidException.java index 02eab84..a3cc8cb 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/exception/AuthenticationInvalidException.java +++ b/src/main/java/com/hideyoshi/auth/util/exception/AuthenticationInvalidException.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.util.exception; +package com.hideyoshi.auth.util.exception; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/exception/AuthenticationInvalidExceptionDetails.java b/src/main/java/com/hideyoshi/auth/util/exception/AuthenticationInvalidExceptionDetails.java similarity index 87% rename from src/main/java/com/hideyoshi/backendportfolio/util/exception/AuthenticationInvalidExceptionDetails.java rename to src/main/java/com/hideyoshi/auth/util/exception/AuthenticationInvalidExceptionDetails.java index 9e55de3..f18305f 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/exception/AuthenticationInvalidExceptionDetails.java +++ b/src/main/java/com/hideyoshi/auth/util/exception/AuthenticationInvalidExceptionDetails.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.util.exception; +package com.hideyoshi.auth.util.exception; import java.time.LocalDateTime; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/exception/BadRequestException.java b/src/main/java/com/hideyoshi/auth/util/exception/BadRequestException.java similarity index 84% rename from src/main/java/com/hideyoshi/backendportfolio/util/exception/BadRequestException.java rename to src/main/java/com/hideyoshi/auth/util/exception/BadRequestException.java index 170a472..235b77f 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/exception/BadRequestException.java +++ b/src/main/java/com/hideyoshi/auth/util/exception/BadRequestException.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.util.exception; +package com.hideyoshi.auth.util.exception; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/exception/BadRequestExceptionDetails.java b/src/main/java/com/hideyoshi/auth/util/exception/BadRequestExceptionDetails.java similarity index 88% rename from src/main/java/com/hideyoshi/backendportfolio/util/exception/BadRequestExceptionDetails.java rename to src/main/java/com/hideyoshi/auth/util/exception/BadRequestExceptionDetails.java index 5e5d89e..c7a2649 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/exception/BadRequestExceptionDetails.java +++ b/src/main/java/com/hideyoshi/auth/util/exception/BadRequestExceptionDetails.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.util.exception; +package com.hideyoshi.auth.util.exception; import java.time.LocalDateTime; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/exception/ExceptionDetails.java b/src/main/java/com/hideyoshi/auth/util/exception/ExceptionDetails.java similarity index 92% rename from src/main/java/com/hideyoshi/backendportfolio/util/exception/ExceptionDetails.java rename to src/main/java/com/hideyoshi/auth/util/exception/ExceptionDetails.java index d902440..10b2951 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/exception/ExceptionDetails.java +++ b/src/main/java/com/hideyoshi/auth/util/exception/ExceptionDetails.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.util.exception; +package com.hideyoshi.auth.util.exception; import lombok.Getter; import lombok.Setter; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/exception/ValidationExceptionDetails.java b/src/main/java/com/hideyoshi/auth/util/exception/ValidationExceptionDetails.java similarity index 92% rename from src/main/java/com/hideyoshi/backendportfolio/util/exception/ValidationExceptionDetails.java rename to src/main/java/com/hideyoshi/auth/util/exception/ValidationExceptionDetails.java index e858fc9..4150fc0 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/exception/ValidationExceptionDetails.java +++ b/src/main/java/com/hideyoshi/auth/util/exception/ValidationExceptionDetails.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.util.exception; +package com.hideyoshi.auth.util.exception; import lombok.Getter; import lombok.Setter; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceGuard.java b/src/main/java/com/hideyoshi/auth/util/guard/UserResourceGuard.java similarity index 85% rename from src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceGuard.java rename to src/main/java/com/hideyoshi/auth/util/guard/UserResourceGuard.java index 337778b..f599c2b 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceGuard.java +++ b/src/main/java/com/hideyoshi/auth/util/guard/UserResourceGuard.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.util.guard; +package com.hideyoshi.auth.util.guard; import java.lang.annotation.*; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceGuardEnum.java b/src/main/java/com/hideyoshi/auth/util/guard/UserResourceGuardEnum.java similarity index 93% rename from src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceGuardEnum.java rename to src/main/java/com/hideyoshi/auth/util/guard/UserResourceGuardEnum.java index e5c9da4..174827b 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceGuardEnum.java +++ b/src/main/java/com/hideyoshi/auth/util/guard/UserResourceGuardEnum.java @@ -1,9 +1,9 @@ -package com.hideyoshi.backendportfolio.util.guard; +package com.hideyoshi.auth.util.guard; import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.base.auth.entity.Role; -import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; -import com.hideyoshi.backendportfolio.base.auth.service.UserService; +import com.hideyoshi.auth.base.auth.entity.Role; +import com.hideyoshi.auth.base.auth.model.UserDTO; +import com.hideyoshi.auth.base.auth.service.UserService; import lombok.Getter; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceValidator.java b/src/main/java/com/hideyoshi/auth/util/guard/UserResourceValidator.java similarity index 85% rename from src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceValidator.java rename to src/main/java/com/hideyoshi/auth/util/guard/UserResourceValidator.java index e71754c..ca58496 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceValidator.java +++ b/src/main/java/com/hideyoshi/auth/util/guard/UserResourceValidator.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.util.guard; +package com.hideyoshi.auth.util.guard; -import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; +import com.hideyoshi.auth.base.auth.model.UserDTO; import org.springframework.security.core.context.SecurityContextHolder; import javax.validation.ConstraintValidator; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/handler/RestExceptionHandler.java b/src/main/java/com/hideyoshi/auth/util/handler/RestExceptionHandler.java similarity index 97% rename from src/main/java/com/hideyoshi/backendportfolio/util/handler/RestExceptionHandler.java rename to src/main/java/com/hideyoshi/auth/util/handler/RestExceptionHandler.java index 2b54adc..014932d 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/handler/RestExceptionHandler.java +++ b/src/main/java/com/hideyoshi/auth/util/handler/RestExceptionHandler.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.util.handler; +package com.hideyoshi.auth.util.handler; -import com.hideyoshi.backendportfolio.util.exception.*; +import com.hideyoshi.auth.util.exception.*; import lombok.extern.log4j.Log4j2; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/unique/EmailUnique.java b/src/main/java/com/hideyoshi/auth/util/validator/email/unique/EmailUnique.java similarity index 86% rename from src/main/java/com/hideyoshi/backendportfolio/util/validator/email/unique/EmailUnique.java rename to src/main/java/com/hideyoshi/auth/util/validator/email/unique/EmailUnique.java index 0982971..3042e10 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/unique/EmailUnique.java +++ b/src/main/java/com/hideyoshi/auth/util/validator/email/unique/EmailUnique.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.util.validator.email.unique; +package com.hideyoshi.auth.util.validator.email.unique; -import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; +import com.hideyoshi.auth.base.auth.repo.UserRepository; import lombok.RequiredArgsConstructor; import javax.validation.ConstraintValidator; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/unique/UniqueEmail.java b/src/main/java/com/hideyoshi/auth/util/validator/email/unique/UniqueEmail.java similarity index 89% rename from src/main/java/com/hideyoshi/backendportfolio/util/validator/email/unique/UniqueEmail.java rename to src/main/java/com/hideyoshi/auth/util/validator/email/unique/UniqueEmail.java index 9be9559..4517ccf 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/unique/UniqueEmail.java +++ b/src/main/java/com/hideyoshi/auth/util/validator/email/unique/UniqueEmail.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.util.validator.email.unique; +package com.hideyoshi.auth.util.validator.email.unique; import javax.validation.Constraint; import javax.validation.Payload; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/valid/EmailValidator.java b/src/main/java/com/hideyoshi/auth/util/validator/email/valid/EmailValidator.java similarity index 93% rename from src/main/java/com/hideyoshi/backendportfolio/util/validator/email/valid/EmailValidator.java rename to src/main/java/com/hideyoshi/auth/util/validator/email/valid/EmailValidator.java index 9907a84..c3fd26e 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/valid/EmailValidator.java +++ b/src/main/java/com/hideyoshi/auth/util/validator/email/valid/EmailValidator.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.util.validator.email.valid; +package com.hideyoshi.auth.util.validator.email.valid; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/valid/ValidEmail.java b/src/main/java/com/hideyoshi/auth/util/validator/email/valid/ValidEmail.java similarity index 89% rename from src/main/java/com/hideyoshi/backendportfolio/util/validator/email/valid/ValidEmail.java rename to src/main/java/com/hideyoshi/auth/util/validator/email/valid/ValidEmail.java index a68dbb3..639c2d2 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/valid/ValidEmail.java +++ b/src/main/java/com/hideyoshi/auth/util/validator/email/valid/ValidEmail.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.util.validator.email.valid; +package com.hideyoshi.auth.util.validator.email.valid; import javax.validation.Constraint; import javax.validation.Payload; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/PasswordValidator.java b/src/main/java/com/hideyoshi/auth/util/validator/password/PasswordValidator.java similarity index 87% rename from src/main/java/com/hideyoshi/backendportfolio/util/validator/password/PasswordValidator.java rename to src/main/java/com/hideyoshi/auth/util/validator/password/PasswordValidator.java index ee5a95a..e47beeb 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/PasswordValidator.java +++ b/src/main/java/com/hideyoshi/auth/util/validator/password/PasswordValidator.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.util.validator.password; +package com.hideyoshi.auth.util.validator.password; -import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.auth.base.auth.entity.Provider; import lombok.RequiredArgsConstructor; import javax.validation.ConstraintValidator; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/ValidPassword.java b/src/main/java/com/hideyoshi/auth/util/validator/password/ValidPassword.java similarity index 85% rename from src/main/java/com/hideyoshi/backendportfolio/util/validator/password/ValidPassword.java rename to src/main/java/com/hideyoshi/auth/util/validator/password/ValidPassword.java index 347b3a6..87035f3 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/ValidPassword.java +++ b/src/main/java/com/hideyoshi/auth/util/validator/password/ValidPassword.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.util.validator.password; +package com.hideyoshi.auth.util.validator.password; -import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.auth.base.auth.entity.Provider; import javax.validation.Constraint; import javax.validation.Payload; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMap.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMap.java deleted file mode 100644 index 0f50c65..0000000 --- a/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMap.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.hideyoshi.backendportfolio.base.auth.oauth.mapper; - -import com.hideyoshi.backendportfolio.base.auth.entity.Provider; - -public interface OAuthMap { - - String getPrincipal(); - - String getProfilePicture(); - - Provider getProvider(); - -} diff --git a/src/test/java/com/hideyoshi/backendportfolio/BackendPortfolioApplicationTests.java b/src/test/java/com/hideyoshi/auth/BackendPortfolioApplicationTests.java similarity index 83% rename from src/test/java/com/hideyoshi/backendportfolio/BackendPortfolioApplicationTests.java rename to src/test/java/com/hideyoshi/auth/BackendPortfolioApplicationTests.java index dc359e6..f064a6f 100644 --- a/src/test/java/com/hideyoshi/backendportfolio/BackendPortfolioApplicationTests.java +++ b/src/test/java/com/hideyoshi/auth/BackendPortfolioApplicationTests.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio; +package com.hideyoshi.auth; import org.junit.jupiter.api.Test; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; diff --git a/src/test/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepositoryTest.java b/src/test/java/com/hideyoshi/auth/base/user/repo/UserRepositoryTest.java similarity index 83% rename from src/test/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepositoryTest.java rename to src/test/java/com/hideyoshi/auth/base/user/repo/UserRepositoryTest.java index 35977fb..f2ec24d 100644 --- a/src/test/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepositoryTest.java +++ b/src/test/java/com/hideyoshi/auth/base/user/repo/UserRepositoryTest.java @@ -1,10 +1,10 @@ -package com.hideyoshi.backendportfolio.base.user.repo; +package com.hideyoshi.auth.base.user.repo; -import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; -import com.hideyoshi.backendportfolio.base.auth.entity.Provider; -import com.hideyoshi.backendportfolio.base.auth.entity.Role; -import com.hideyoshi.backendportfolio.base.auth.entity.User; -import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; +import com.hideyoshi.auth.base.auth.repo.UserRepository; +import com.hideyoshi.auth.base.auth.entity.Provider; +import com.hideyoshi.auth.base.auth.entity.Role; +import com.hideyoshi.auth.base.auth.entity.User; +import com.hideyoshi.auth.base.auth.model.UserDTO; import lombok.extern.log4j.Log4j2; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceTest.java b/src/test/java/com/hideyoshi/auth/base/user/service/UserServiceTest.java similarity index 96% rename from src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceTest.java rename to src/test/java/com/hideyoshi/auth/base/user/service/UserServiceTest.java index 735f594..56bb27b 100644 --- a/src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceTest.java +++ b/src/test/java/com/hideyoshi/auth/base/user/service/UserServiceTest.java @@ -1,12 +1,12 @@ -package com.hideyoshi.backendportfolio.base.user.service; +package com.hideyoshi.auth.base.user.service; -import com.hideyoshi.backendportfolio.base.auth.service.UserService; -import com.hideyoshi.backendportfolio.base.auth.entity.Provider; -import com.hideyoshi.backendportfolio.base.auth.entity.Role; -import com.hideyoshi.backendportfolio.base.auth.entity.User; -import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; -import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; -import com.hideyoshi.backendportfolio.util.exception.BadRequestException; +import com.hideyoshi.auth.base.auth.service.UserService; +import com.hideyoshi.auth.base.auth.entity.Provider; +import com.hideyoshi.auth.base.auth.entity.Role; +import com.hideyoshi.auth.base.auth.entity.User; +import com.hideyoshi.auth.base.auth.model.UserDTO; +import com.hideyoshi.auth.base.auth.repo.UserRepository; +import com.hideyoshi.auth.util.exception.BadRequestException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; diff --git a/src/test/java/com/hideyoshi/backendportfolio/microservice/storageService/service/StorageServiceTest.java b/src/test/java/com/hideyoshi/auth/microservice/storageService/service/StorageServiceTest.java similarity index 92% rename from src/test/java/com/hideyoshi/backendportfolio/microservice/storageService/service/StorageServiceTest.java rename to src/test/java/com/hideyoshi/auth/microservice/storageService/service/StorageServiceTest.java index 9044920..ba63f60 100644 --- a/src/test/java/com/hideyoshi/backendportfolio/microservice/storageService/service/StorageServiceTest.java +++ b/src/test/java/com/hideyoshi/auth/microservice/storageService/service/StorageServiceTest.java @@ -1,10 +1,10 @@ -package com.hideyoshi.backendportfolio.microservice.storageService.service; +package com.hideyoshi.auth.microservice.storageService.service; import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.microservice.storageService.config.StorageServiceConfig; -import com.hideyoshi.backendportfolio.microservice.storageService.enums.FileTypeEnum; -import com.hideyoshi.backendportfolio.microservice.storageService.model.StorageServiceDownloadResponse; -import com.hideyoshi.backendportfolio.microservice.storageService.model.StorageServiceUploadResponse; +import com.hideyoshi.auth.microservice.storageService.config.StorageServiceConfig; +import com.hideyoshi.auth.microservice.storageService.enums.FileTypeEnum; +import com.hideyoshi.auth.microservice.storageService.model.StorageServiceDownloadResponse; +import com.hideyoshi.auth.microservice.storageService.model.StorageServiceUploadResponse; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith;