[feat] HTTP Basic 인증, 내 정보 조회
name: Feature Request
labels: 'Type : Feature'
기능 요약
HTTP Basic 인증 및 내 정보 조회 API (/api/me)
상세 설명
- DB 사용자 기반 HTTP Basic 로그인 (
DbUserDetailsService)- 로그인 ID는 이메일(
citext, 대소문자 무시) - 비밀번호는 BCrypt 해시로만 저장
- 탈퇴한(soft delete) 사용자는 인증에서 제외
- 로그인 ID는 이메일(
- 내 정보 조회 API
GET /api/me- 응답:
userId,email,displayName, 소속 팀별 역할 목록teams[{teamId, name, role}] - 소속 팀이 없으면 빈 배열
- 응답:
- 팀 엔티티·리포지토리 추가 (
Team,TeamMember복합 PK,TeamRole: OWNER/MEMBER)./api/me의 팀 역할 조회에 필요 - dev 시드 데이터: 사용자 4명(alice·bob·carol·dave, 비밀번호
password), 팀 2개(team-a, team-b) - Swagger
me태그: 응답 필드userId,roleenum 설명 - 인증 테스트(
AuthTest) 통과: 미인증 401(problem+json), 잘못된 비밀번호 401, BCrypt 저장, 팀별 역할 조회
참고 자료
- [이메일 citext]
-
soft delete vs hard delete
- UserDetailsService
- ApplicationRunner
- CreationTimestamp vs CreatedData 하이버네이트 전용 어노테이션(예:org.hibernate.annotations 패키지의 기능)을 자제하는 주된 이유는 표준 JPA와의 호환성 저하와 벤더 종속성 때문입니다.
- JPA Auditing
- EntityListeners

