Skip to content

Commit

Permalink
Merge pull request #341 from woowacourse-teams/dev/be
Browse files Browse the repository at this point in the history
  • Loading branch information
HoeSeong123 authored Aug 7, 2024
2 parents 0d3ca5b + 6169c8e commit a995dc0
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import org.springframework.web.bind.annotation.RestController;

import codezap.member.dto.LoginRequest;
import codezap.member.dto.LoginResponse;
import codezap.member.dto.MemberDto;
import codezap.member.dto.SignupRequest;
import codezap.member.service.MemberService;
Expand Down Expand Up @@ -48,7 +49,7 @@ public void checkUniqueUsername(@RequestParam String username) {

@PostMapping("/login")
@ResponseStatus(HttpStatus.OK)
public void login(@Valid @RequestBody LoginRequest request, HttpServletResponse response) {
public LoginResponse login(@Valid @RequestBody LoginRequest request, HttpServletResponse response) {
MemberDto member = memberService.login(request);
String basicAuth = HttpHeaders.encodeBasicAuth(member.email(), member.password(), StandardCharsets.UTF_8);
ResponseCookie cookie = ResponseCookie.from(HttpHeaders.AUTHORIZATION, basicAuth)
Expand All @@ -59,6 +60,7 @@ public void login(@Valid @RequestBody LoginRequest request, HttpServletResponse
.httpOnly(true)
.build();
response.setHeader(HttpHeaders.SET_COOKIE, cookie.toString());
return new LoginResponse(member.id(), member.username());
}

@GetMapping("/login/check")
Expand All @@ -67,7 +69,6 @@ public void checkLogin(HttpServletRequest request) {
memberService.checkLogin(request.getCookies());
}


@PostMapping("/logout")
@ResponseStatus(HttpStatus.NO_CONTENT)
public void logout(HttpServletResponse response) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

import codezap.global.swagger.error.ProblemDetailSchema;
import codezap.member.dto.LoginRequest;
import codezap.member.dto.LoginResponse;
import codezap.member.dto.SignupRequest;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.headers.Header;
Expand Down Expand Up @@ -297,7 +298,7 @@ public interface SpringDocMemberController {
}
)
)
void login(LoginRequest request, HttpServletResponse response);
LoginResponse login(LoginRequest request, HttpServletResponse response);

@Operation(summary = "이메일 로그인 후 쿠키 인증")
@ApiResponse(responseCode = "200", description = "쿠키 인증 성공")
Expand Down
7 changes: 7 additions & 0 deletions backend/src/main/java/codezap/member/dto/LoginResponse.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package codezap.member.dto;

public record LoginResponse(
long memberId,
String username
) {
}
10 changes: 0 additions & 10 deletions backend/src/main/java/codezap/member/service/MemberService.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,14 +51,4 @@ public void assertUniqueUsername(String username) {
throw new CodeZapException(HttpStatus.CONFLICT, "사용자명이 이미 존재합니다.");
}
}

public void validateMemberId(MemberDto memberDto, Long memberId) {
if (!memberId.equals(memberDto.id())) {
throw new CodeZapException(HttpStatus.UNAUTHORIZED, "다른 사람의 템플릿은 확인할 수 없습니다.");
}

if (!memberRepository.existsById(memberId)) {
throw new CodeZapException(HttpStatus.UNAUTHORIZED, "로그인 정보가 잘못되었습니다.");
}
}
}

0 comments on commit a995dc0

Please sign in to comment.