Skip to content

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

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 머지 후 본 이슈 종료

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions