Skip to content

Commit

Permalink
refactor: 소켓 토큰 발급 시 AuthenticationPrincipal 활용
Browse files Browse the repository at this point in the history
  • Loading branch information
Youthhing committed Aug 14, 2024
1 parent e276a64 commit 8cfc503
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,15 @@
import org.cotato.csquiz.api.socket.dto.QuizOpenRequest;
import org.cotato.csquiz.api.socket.dto.QuizSocketRequest;
import org.cotato.csquiz.api.socket.dto.SocketTokenDto;
import org.cotato.csquiz.domain.education.service.*;
import org.cotato.csquiz.domain.education.service.EducationService;
import org.cotato.csquiz.domain.education.service.QuizSolveService;
import org.cotato.csquiz.domain.education.service.RecordService;
import org.cotato.csquiz.domain.education.service.SocketService;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
Expand Down Expand Up @@ -67,8 +70,8 @@ public ResponseEntity<Void> closeEducation(@RequestBody @Valid EducationCloseReq
}

@PostMapping("/token")
public ResponseEntity<SocketTokenDto> makeSocketToken(@RequestHeader("Authorization") String authorizationHeader) {
return ResponseEntity.ok(socketService.createSocketToken(authorizationHeader));
public ResponseEntity<SocketTokenDto> makeSocketToken(@AuthenticationPrincipal Long memberId) {
return ResponseEntity.ok(socketService.createSocketToken(memberId));
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import lombok.extern.slf4j.Slf4j;
import org.cotato.csquiz.api.socket.dto.SocketTokenDto;
import org.cotato.csquiz.common.config.jwt.JwtTokenProvider;
import org.cotato.csquiz.domain.auth.entity.Member;
import org.cotato.csquiz.domain.auth.service.MemberService;
import org.cotato.csquiz.common.websocket.WebSocketHandler;
import org.springframework.stereotype.Service;

Expand All @@ -12,6 +14,7 @@
@Slf4j
public class SocketService {

private final MemberService memberService;
private final WebSocketHandler webSocketHandler;
private final JwtTokenProvider jwtTokenProvider;

Expand All @@ -31,13 +34,11 @@ public void stopEducation(Long educationId) {
webSocketHandler.stopEducation(educationId);
}

public SocketTokenDto createSocketToken(String authorizationHeader) {
String token = jwtTokenProvider.resolveAccessToken(authorizationHeader);
String role = jwtTokenProvider.getRole(token);
Long memberId = jwtTokenProvider.getMemberId(token);
jwtTokenProvider.checkMemberExist(memberId);

String socketToken = jwtTokenProvider.createSocketToken(memberId, role);
public SocketTokenDto createSocketToken(final Long memberId) {
Member member = memberService.findById(memberId);

String socketToken = jwtTokenProvider.createSocketToken(member.getId(), member.getRole().getKey());
log.info("[ 소켓 전용 토큰 발급 완료 ]");
return SocketTokenDto.from(socketToken);
}
Expand Down

0 comments on commit 8cfc503

Please sign in to comment.