## 💚 어떤 기능인가요? `POST /auth/register` 는 `permitAll` 이다. 그런데 `UserService.createUser` 가 요청 본문의 `role` 을 그대로 엔티티에 넣는다. **인증 없이 누구나 관리자 계정을 만들 수 있다.** ```java .role(UserRole.valueOf(role)) // 요청 본문의 role .provider(userDto.getProvider()) // provider 도 그대로 .emailVerified(userDto.getProvider() != null) ``` ```bash curl -X POST /auth/register -H 'Content-Type: application/json' \ -d '{"email":"x@x.com","password":"pw123456","name":"공격자","role":"ADMIN"}' # → ADMIN 발급 → /api/admin/** 전체 접근 ``` 곁가지로 `provider` 를 붙이면 비밀번호 검사를 건너뛰고 `emailVerified=true` 인 계정을 임의 이메일로 미리 만들 수 있다. `createUser` 의 호출처는 이 공개 엔드포인트 하나뿐이고, 카카오 가입은 `AuthServiceImpl.createNewUser` 라는 별도 경로라 서버 고정이 안전하다. ## ✅ To Dos - [ ] `role` 을 무시하고 항상 `PARENT` 로 저장 - [ ] `provider` / `providerId` 를 무시하고 `null` 로 저장 - [ ] `emailVerified` 를 항상 `false` 로 시작 - [ ] `provider` 로 비밀번호 검사를 건너뛰던 분기 제거 - [ ] `UserRole.valueOf(null)` 로 500 이 나던 것 해결 - [ ] 회귀 테스트 추가
Activity