Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[개선] JWT 에서 데이터 Claim시 서명 알고리즘의 명시적 선언 필요 #149

Merged
merged 5 commits into from
Oct 11, 2024

Conversation

cabbage16
Copy link
Member

🎫 관련 이슈

close #145


📄 개요

JWT에서 데이터 Claim시 서명 알고리즘이 불일치하면 오류를 발생시키는 기능을 만들었습니다.


🔨 작업 내용

  • extractAllClaims를 실행할 때 서명 알고리즘이 HS256이 아니면 INVALID_SIGNATURE_ALGORITHM을 반환하도록 만들었습니다.

🏁 확인 사항

  • 테스트를 완료했나요?
  • API 문서를 작성했나요?
  • 코드 컨벤션을 준수했나요?
  • 불필요한 로그, 주석, import 등을 삭제했나요?

🙋🏻 덧붙일 말

- JWT로 인증 시 서명 알고리즘이 HS256이 아닌 경우, 잘못된 토큰 에러가 아닌 잘못된 서명 알고리즘 에러를 발생하도록 했어요.
- JWT 서명 알고리즘이 잘못되었을 때, 에러를 발생시키는 테스트를 만들었어요.
Copy link

이렇게 리뷰해주세요.

🖐️ 규칙

  1. 개선이 필요한지 충분히 설명해주세요.
  2. 답을 알려주기보다는 스스로 고민하고 개선 방법을 선택할 수 있게 해주세요.
  3. 코드를 깔끔하게 유지하고, 일관되게 구현하도록 안내해 주세요.
  4. 리뷰 과정이 숙제검사가 아닌 학습과정으로 느낄 수 있게 리뷰해 주세요.
  5. 리뷰를 위한 리뷰를 하지 마세요. 피드백 할 게 없으면 칭찬해 주세요.

🥬 우선순위

리뷰 중요도에 따라 다음과 같은 prefix를 붙여주세요.

예시 - P5) 쓸모없는 주석 삭제해주세요.

  • P1: 꼭 반영해주세요 (Request changes)
  • P2: 적극적으로 고려해주세요 (Request changes)
  • P3: 웬만하면 반영해 주세요 (Comment)
  • P4: 반영해도 좋고 넘어가도 좋습니다 (Approve)
  • P5: 그냥 사소한 의견입니다 (Approve)

@cabbage16 cabbage16 self-assigned this Oct 10, 2024
@cabbage16 cabbage16 added the 개선 코드 리팩토링 label Oct 10, 2024
Copy link
Member

@gimhanul gimhanul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이게 왜 필요한 거예여

@cabbage16
Copy link
Member Author

이게 왜 필요한 거예여

145 이슈 밑에 있는 링크 보시면 BOB에서 마루 보안 테스트를 받았는데 그중에서 jwt 서명 알고리즘을 명시적으로 선언 하지 않으면 alg: "none" 공격을 받을 가능성이 있다고 하셔서 서명 알고리즘이 HS256인 경우에만 실행되도록 했습니다!

Copy link
Member

@gimhanul gimhanul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

왕 신기하네여

근데 이거 INVALID_TOKEN 이미 있는 exception으로 처리해도 될 거 같습니다! (추천하는 부분)

- 서명 알고리즘이 유효하지 않다는 오류 대신 토큰이 유효하지 않은 오류로 처리했어요.
Copy link

sonarcloud bot commented Oct 10, 2024

@jyj1289 jyj1289 merged commit 4e0edb2 into develop Oct 11, 2024
2 checks passed
@jyj1289 jyj1289 deleted the perf/#145 branch October 11, 2024 05:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
개선 코드 리팩토링
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[개선] JWT 에서 데이터 Claim시 서명 알고리즘의 명시적 선언 필요
3 participants