From 3adcbf96537d7966b6e53a294a7ec5941f750efc Mon Sep 17 00:00:00 2001 From: LocKey Date: Wed, 28 Aug 2024 00:55:03 +0900 Subject: [PATCH 1/3] =?UTF-8?q?Task=201.=20Basic=20Auth=20/=20authorizatio?= =?UTF-8?q?n=20=ED=97=A4=EB=8D=94=EC=9D=98=20Basic=20=EA=B0=92=EC=97=90=20?= =?UTF-8?q?=EC=9E=88=EB=8A=94=20email=EA=B3=BC=20password=20=EC=B6=94?= =?UTF-8?q?=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cholog/auth/ui/BasicLoginController.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-auth-1/initial/src/main/java/cholog/auth/ui/BasicLoginController.java b/spring-auth-1/initial/src/main/java/cholog/auth/ui/BasicLoginController.java index 9f956bb5..f33e2963 100644 --- a/spring-auth-1/initial/src/main/java/cholog/auth/ui/BasicLoginController.java +++ b/spring-auth-1/initial/src/main/java/cholog/auth/ui/BasicLoginController.java @@ -30,9 +30,9 @@ public BasicLoginController(AuthService authService) { */ @GetMapping("/members/me/basic") public ResponseEntity findMyInfo(HttpServletRequest request) { - // TODO: authorization 헤더의 Basic 값에 있는 email과 password 추출 (hint: authorizationExtractor 사용) - String email = ""; - String password = ""; + AuthInfo authInfo = authorizationExtractor.extract(request); + String email = authInfo.getEmail(); + String password = authInfo.getPassword(); if (authService.checkInvalidLogin(email, password)) { throw new AuthorizationException(); From 3634e1032135227903828dfe688a90a4c9c1f57a Mon Sep 17 00:00:00 2001 From: LocKey Date: Wed, 28 Aug 2024 02:05:20 +0900 Subject: [PATCH 2/3] =?UTF-8?q?Task=202.=20Session=20Login=20/=20session?= =?UTF-8?q?=EC=9D=84=20=ED=86=B5=ED=95=B4=20=EC=9D=B8=EC=A6=9D=20=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=EB=A5=BC=20=EC=A0=80=EC=9E=A5=ED=95=98=EA=B3=A0=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cholog/auth/ui/SessionLoginController.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/spring-auth-1/initial/src/main/java/cholog/auth/ui/SessionLoginController.java b/spring-auth-1/initial/src/main/java/cholog/auth/ui/SessionLoginController.java index a88c9509..31a1d39c 100644 --- a/spring-auth-1/initial/src/main/java/cholog/auth/ui/SessionLoginController.java +++ b/spring-auth-1/initial/src/main/java/cholog/auth/ui/SessionLoginController.java @@ -35,15 +35,15 @@ public SessionLoginController(AuthService authService) { */ @PostMapping("/login/session") public ResponseEntity sessionLogin(HttpServletRequest request, HttpSession session) { - // TODO: HttpRequest로 받은 email과 password 추출 - String email = ""; - String password = ""; + Map paramMap = request.getParameterMap(); + String email = paramMap.get(USERNAME_FIELD)[0]; + String password = paramMap.get(PASSWORD_FIELD)[0]; if (authService.checkInvalidLogin(email, password)) { throw new AuthorizationException(); } - // TODO: Session에 인증 정보 저장 (key: SESSION_KEY, value: email값) + session.setAttribute("SESSION_KEY", email); return ResponseEntity.ok().build(); } @@ -57,8 +57,7 @@ public ResponseEntity sessionLogin(HttpServletRequest request, HttpSession */ @GetMapping("/members/me/session") public ResponseEntity findMyInfo(HttpSession session) { - // TODO: Session을 통해 인증 정보 조회 (key: SESSION_KEY) - String email = ""; + String email = session.getAttribute("SESSION_KEY").toString(); MemberResponse member = authService.findMember(email); return ResponseEntity.ok().body(member); } From b631187673352132fa1733a1cb47594ea6701934 Mon Sep 17 00:00:00 2001 From: LocKey Date: Wed, 28 Aug 2024 02:30:37 +0900 Subject: [PATCH 3/3] =?UTF-8?q?Task=203.=20Token=20Login=20/=20token?= =?UTF-8?q?=EC=9D=84=20=ED=86=B5=ED=95=B4=20=EC=82=AC=EC=9A=A9=EC=9E=90?= =?UTF-8?q?=EC=9D=98=20=EC=8B=A0=EC=9B=90=EC=9D=84=20=ED=99=95=EC=9D=B8?= =?UTF-8?q?=ED=95=98=EA=B3=A0=20=EB=A1=9C=EA=B7=B8=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cholog/auth/ui/TokenLoginController.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/spring-auth-1/initial/src/main/java/cholog/auth/ui/TokenLoginController.java b/spring-auth-1/initial/src/main/java/cholog/auth/ui/TokenLoginController.java index ed0f81ff..59def57b 100644 --- a/spring-auth-1/initial/src/main/java/cholog/auth/ui/TokenLoginController.java +++ b/spring-auth-1/initial/src/main/java/cholog/auth/ui/TokenLoginController.java @@ -10,6 +10,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @RestController @@ -35,9 +36,7 @@ public TokenLoginController(AuthService authService) { * } */ @PostMapping("/login/token") - public ResponseEntity tokenLogin() { - // TODO: email, password 정보를 가진 TokenRequest 값을 메서드 파라미터로 받아오기 (hint: @RequestBody) - TokenRequest tokenRequest = null; + public ResponseEntity tokenLogin(@RequestBody TokenRequest tokenRequest) { TokenResponse tokenResponse = authService.createToken(tokenRequest); return ResponseEntity.ok().body(tokenResponse); } @@ -51,8 +50,7 @@ public ResponseEntity tokenLogin() { */ @GetMapping("/members/me/token") public ResponseEntity findMyInfo(HttpServletRequest request) { - // TODO: authorization 헤더의 Bearer 값을 추출 (hint: authorizationExtractor 사용) - String token = ""; + String token = authorizationExtractor.extract(request); MemberResponse member = authService.findMemberByToken(token); return ResponseEntity.ok().body(member); }