Skip to content

[ Auth ] 인가 우회 경로 차단과 인증 흐름 정비 #81

Closed
8 of 8 issues completed
Closed

Description

@RosieOh

💚 어떤 기능인가요?

백엔드 전수 점검 중 인가 우회 경로 2개와 인증 흐름 결함들을 발견해 함께 정비한다.

가장 심각한 것은 POST /auth/register 다. permitAll 인데 요청 본문의 role 을 그대로
엔티티에 넣고 있어서, 로그인조차 없이 누구나 관리자가 될 수 있다.

curl -X POST /auth/register -d '{"email":"x@x.com","password":"pw123456","name":"x","role":"ADMIN"}'
# → ADMIN 발급, /api/admin/** 전체 열림

두 번째는 UserController 다. 클래스 제약이 isAuthenticated() 하나인데 그 아래에
역할 변경·계정 삭제·전체 회원 검색이 함께 있었다.

나머지는 인증 흐름의 설정·검증 결함이다. 공통점은 "규칙은 있는데 실제 경로를 가리키지 않아
효력이 없던 것"
이 반복된다는 점이다. 이메일 인증 화이트리스트가 존재하지 않는 경로를 보고
있었고, rate limit 의 민감 엔드포인트 목록도 이 앱에 없는 /api/v1/* 를 보고 있었다.

해소 PR: #80

✅ To Dos

  • 가입 시 서버가 정해야 하는 값 고정 (role / provider / emailVerified)
  • 사용자 관리 기능을 /api/admin/users 로 이관하고 소유권 검증 추가
  • /auth/refresh 토큰 종류 검증
  • 이메일 인증 엔드포인트 화이트리스트 경로 교정
  • 인증번호 난수·시도 제한·쿨다운
  • rate limit fail-open 과 민감 경로 설정 교정
  • 커뮤니티 자동 숨김 정상화
  • 커뮤니티 N+1 제거
  • 회귀 테스트로 계약 고정 (실제 HTTP 응답 코드 기준)
  • PR 머지 후 본 이슈 종료

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions