gamenome-project / gamenome-project-server

gamenome-project-server
0 stars 1 forks source link

#57 Swagger header Authorization 추가 #71

Closed mobzzzzz closed 4 months ago

mobzzzzz commented 4 months ago

Swagger 테스트에서 의도에 맞게 작동해야 해서 이렇게 했습니다.

@RequestHeader를 쓰면 각 API마다 필드가 하나 더 생기는데 정작 작동은 안해서 좀 의아하긴 한데 이제 우측 위에 Authorize 버튼을 눌러 발급받은 JWT로 인증하면 인증이 자동으로 Header에 포함되어 테스트됩니다.

HttpServletRequest 을 써서 header를 얻어오는 것과 @RequestHeader는 딱히 차이는 없다고 합니다. Swagger-ui에서 표기 되냐 마느냐의 차이밖에 없어서 좀 구리긴 해요

아직 저희끼리 Postman 에 대한 이야기는 나온 적 없으니 임시로 컨트롤러에서 HttpServletRequest 을 받아와서 request.getHeader("Authorization") ?: return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build() 처럼 작성해주면 token 받아 쓸 수 있고

나중에 일괄적으로 HttpServletRequest를 @RequestHeader로 바꾸면 된다로 이해하면 좋을 것 같습니다.

mobzzzzz commented 4 months ago

@Ppajingae 네 적용되면 Swagger-ui 띄우시면 오른쪽 위에 Authorize 버튼이 생기는데 누르면 모달 뜨고 그 안에 Access token을 넣어두면 모든 호출 Header에 Authorization header가 추가되니 필요한 Controller에서 토큰이 필요하면 HttpServletRequest을 받아서 header를 처리하면 됩니다

RequestParam이랑 물리적으로는 크게 다를 바 없지만 Token이 url로 노출 안되는게 장점이라고 봐주세용

Ppajingae commented 4 months ago

넵 알겠습니다!!