Skip to content

Commit

Permalink
♻️ #89 Style: 로그인 기능 컨벤션에 맞춰 응답 통일 (#116)
Browse files Browse the repository at this point in the history
* Refactor: appleLogin refactor

* #89 Style: - 예외처리 Service 단에서 처리
- Optioanl로 처리한 예외처리를 If 문으로 변경

* #89 Style: - LoginResponse -> LoginResponseDTO 로 이름변경

* #89 Style:memberController, OAuth2Controller  반환값을 변수로 받아 반환

---------

Co-authored-by: woogieon8on <[email protected]>
  • Loading branch information
betgws and woogieon8on authored Sep 23, 2024
1 parent 21a2366 commit 02eee78
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
import com.drinkeg.drinkeg.apipayLoad.handler.TempHandler;
import com.drinkeg.drinkeg.dto.AppleLoginDTO.AppleLoginRequestDTO;
import com.drinkeg.drinkeg.dto.loginDTO.jwtDTO.JoinDTO;
import com.drinkeg.drinkeg.dto.loginDTO.oauth2DTO.LoginResponse;
import com.drinkeg.drinkeg.dto.loginDTO.oauth2DTO.LoginResponseDTO;
import com.drinkeg.drinkeg.jwt.JWTUtil;
import com.drinkeg.drinkeg.service.loginService.AppleLoginService;
import com.drinkeg.drinkeg.dto.loginDTO.commonDTO.MemberRequestDTO;
import com.drinkeg.drinkeg.dto.loginDTO.commonDTO.MemberResponseDTO;
import com.drinkeg.drinkeg.dto.loginDTO.commonDTO.PrincipalDetail;
Expand Down Expand Up @@ -36,7 +38,9 @@ public ApiResponse<?> joinProcess(@RequestBody JoinDTO joinDTO) {

@PatchMapping("/member")
public ApiResponse<MemberResponseDTO> addMemberDetail(@RequestBody MemberRequestDTO memberRequestDTO, @AuthenticationPrincipal PrincipalDetail principalDetail) {
return ApiResponse.onSuccess(joinService.addMemberDetail(memberRequestDTO, principalDetail.getUsername()));

MemberResponseDTO memberResponseDTO = joinService.addMemberDetail(memberRequestDTO, principalDetail.getUsername());
return ApiResponse.onSuccess(memberResponseDTO);
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.drinkeg.drinkeg.apipayLoad.code.status.ErrorStatus;
import com.drinkeg.drinkeg.apipayLoad.handler.TempHandler;
import com.drinkeg.drinkeg.dto.AppleLoginDTO.AppleLoginRequestDTO;
import com.drinkeg.drinkeg.dto.loginDTO.oauth2DTO.LoginResponse;
import com.drinkeg.drinkeg.dto.loginDTO.oauth2DTO.LoginResponseDTO;
import com.drinkeg.drinkeg.exception.GeneralException;
import com.drinkeg.drinkeg.service.loginService.AppleLoginService;
import jakarta.servlet.http.HttpServletResponse;
Expand All @@ -21,13 +21,10 @@ public class OAuth2Controller {

private final AppleLoginService appleLoginService;
@PostMapping("/login/apple")
public ApiResponse<LoginResponse> appleLogin(@RequestBody AppleLoginRequestDTO appleLoginRequestDTO, HttpServletResponse response) throws Exception{
public ApiResponse<LoginResponseDTO> appleLogin(@RequestBody AppleLoginRequestDTO appleLoginRequestDTO, HttpServletResponse response) throws Exception{

System.out.println("=========start apple login controller============");

Optional.ofNullable(appleLoginRequestDTO.getIdentityToken())
.orElseThrow(() -> new GeneralException(ErrorStatus.IDENTITY_TOKEN_NOT_FOUND));

return ApiResponse.onSuccess(appleLoginService.appleLogin(appleLoginRequestDTO, response));
LoginResponseDTO loginResponseDTO = appleLoginService.appleLogin(appleLoginRequestDTO, response);
return ApiResponse.onSuccess(loginResponseDTO);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LoginResponse {
public class LoginResponseDTO {

private String username;
private String role;
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/com/drinkeg/drinkeg/jwt/LoginFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.drinkeg.drinkeg.apipayLoad.code.status.ErrorStatus;
import com.drinkeg.drinkeg.dto.loginDTO.commonDTO.PrincipalDetail;
import com.drinkeg.drinkeg.dto.loginDTO.oauth2DTO.LoginResponse;
import com.drinkeg.drinkeg.dto.loginDTO.oauth2DTO.LoginResponseDTO;
import com.drinkeg.drinkeg.exception.GeneralException;
import com.drinkeg.drinkeg.redis.RedisClient;
import com.drinkeg.drinkeg.service.loginService.TokenService;
Expand Down Expand Up @@ -98,7 +98,7 @@ protected void successfulAuthentication(HttpServletRequest request, HttpServletR
// 첫 로그인 여부 가져오기
Boolean isFirst = principalDetail.getIsFirst();

LoginResponse loginResponse = LoginResponse.builder()
LoginResponseDTO loginResponseDTO = LoginResponseDTO.builder()
.username(username)
.role(role)
.isFirst(isFirst)
Expand All @@ -108,7 +108,7 @@ protected void successfulAuthentication(HttpServletRequest request, HttpServletR
response.setCharacterEncoding("UTF-8");

ObjectMapper objectMapper = new ObjectMapper();
objectMapper.writeValue(response.getWriter(), loginResponse);
objectMapper.writeValue(response.getWriter(), loginResponseDTO);

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletRespo

// response.sendRedirect("https://drinkeg.com/maindy");

// LoginResponse loginResponse = LoginResponse.builder()
// LoginResponseDTO LoginResponseDTO = LoginResponseDTO.builder()
// .username(username)
// .role(role)
// .accessToken(token)
Expand All @@ -68,7 +68,7 @@ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletRespo
// response.setCharacterEncoding("UTF-8");
//
// ObjectMapper objectMapper = new ObjectMapper();
// objectMapper.writeValue(response.getWriter(), loginResponse);
// objectMapper.writeValue(response.getWriter(), LoginResponseDTO);

// System.out.println("token === " +token);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package com.drinkeg.drinkeg.service.loginService;

import com.drinkeg.drinkeg.apipayLoad.code.status.ErrorStatus;
import com.drinkeg.drinkeg.converter.MemberConverter;
import com.drinkeg.drinkeg.domain.Member;
import com.drinkeg.drinkeg.dto.AppleLoginDTO.AppleLoginRequestDTO;
import com.drinkeg.drinkeg.dto.loginDTO.oauth2DTO.LoginResponse;
import com.drinkeg.drinkeg.dto.loginDTO.oauth2DTO.LoginResponseDTO;
import com.drinkeg.drinkeg.exception.GeneralException;
import com.drinkeg.drinkeg.fegin.AppleAuthClient;
import com.drinkeg.drinkeg.jwt.JWTUtil;
import com.drinkeg.drinkeg.redis.RedisClient;
Expand Down Expand Up @@ -38,9 +40,13 @@ public class AppleLoginService {
private final JWTUtil jwtUtil;
private final MemberConverter memberConverter;

public LoginResponse appleLogin(AppleLoginRequestDTO appleLoginRequestDTO, HttpServletResponse response)throws AuthenticationException, NoSuchAlgorithmException, InvalidKeySpecException,
public LoginResponseDTO appleLogin(AppleLoginRequestDTO appleLoginRequestDTO, HttpServletResponse response)throws AuthenticationException, NoSuchAlgorithmException, InvalidKeySpecException,
JsonProcessingException {

if(appleLoginRequestDTO.getIdentityToken() == null){
throw new GeneralException(ErrorStatus.IDENTITY_TOKEN_NOT_FOUND);
}

System.out.println("--------------apple Login Start---------------");

String identityToken = appleLoginRequestDTO.getIdentityToken();
Expand Down Expand Up @@ -70,7 +76,7 @@ public LoginResponse appleLogin(AppleLoginRequestDTO appleLoginRequestDTO, HttpS

}

return buildLoginResponse(member);
return buildLoginResponseDTO(member);
}

public void jwtProvider(Member member, HttpServletResponse response) {
Expand All @@ -87,8 +93,8 @@ public void jwtProvider(Member member, HttpServletResponse response) {
redisClient.setValue(member.getUsername(), refreshToken, 864000000L);
}

private LoginResponse buildLoginResponse(Member member) {
return LoginResponse.builder()
private LoginResponseDTO buildLoginResponseDTO(Member member) {
return LoginResponseDTO.builder()
.username(member.getUsername())
.role(member.getRole())
.isFirst(member.getIsFirst())
Expand All @@ -110,7 +116,6 @@ private Claims getClaimsFromIdentityToken(String identityToken) throws InvalidKe




}

}

0 comments on commit 02eee78

Please sign in to comment.