배경
fowoco/server에 인증 API가 이미 구현·병합돼 있다 (PR #33, #35). 다른 도메인(근로자/업무/서류/티켓/승인) API는 아직 서버에 없어서, 지금 실제로 연동 가능한 건 인증뿐이다.
서버 계약 요약 (ADR-0002 기준)
| API |
요청 |
성공 |
실패 |
POST /api/v1/auth/login |
JSON email, password |
200 + {user_id, company_id, company_name, role, access_token, token_type, expires_in_seconds, expires_at}, Refresh Token은 HttpOnly 쿠키로 별도 전달 |
401 INVALID_CREDENTIALS |
POST /api/v1/auth/refresh |
HttpOnly 쿠키만 사용, body 없음 |
200 + 새 access_token, 쿠키 회전 |
401 INVALID_REFRESH_TOKEN |
POST /api/v1/auth/logout |
쿠키만 사용 |
204, 쿠키 폐기 |
- |
GET /api/v1/auth/me |
Authorization: Bearer |
200 + {user_id, company_id, roles} |
401 AUTHENTICATION_REQUIRED |
완료 조건
확인 필요
의존성
#100 공통 API 클라이언트 레이어가 먼저 필요해 status:blocked로 표시. #100 완료 후 진행.
배경
fowoco/server에 인증 API가 이미 구현·병합돼 있다 (PR #33, #35). 다른 도메인(근로자/업무/서류/티켓/승인) API는 아직 서버에 없어서, 지금 실제로 연동 가능한 건 인증뿐이다.서버 계약 요약 (ADR-0002 기준)
POST /api/v1/auth/loginemail,password200+{user_id, company_id, company_name, role, access_token, token_type, expires_in_seconds, expires_at}, Refresh Token은 HttpOnly 쿠키로 별도 전달401 INVALID_CREDENTIALSPOST /api/v1/auth/refresh200+ 새access_token, 쿠키 회전401 INVALID_REFRESH_TOKENPOST /api/v1/auth/logout204, 쿠키 폐기GET /api/v1/auth/meAuthorization: Bearer200+{user_id, company_id, roles}401 AUTHENTICATION_REQUIRED완료 조건
authStore.login을 데모 계정 문자열 비교 대신POST /api/v1/auth/login실제 호출로 교체 (#100의 공통 API 클라이언트 사용)credentials: 'include', 프론트에서 원문을 다루지 않음)GET /api/v1/auth/me로 세션 복원 시도 — 지금까지 "로그인 상태 영속화는 백엔드 세션/토큰 방식 확정 후 진행"으로 미뤄뒀던 항목의 실제 구현POST /api/v1/auth/logout연동role값(ADMIN/HR/VIEWER)을 화면 표시(user.role)에 반영 — 지금 데모는HR고정확인 필요
mini@naver.com/1234)이 서버 DB에 실제로 seed돼 있는지 백엔드팀 확인 필요 — 없으면 로그인 화면·도움말 모달의 데모 계정 안내를 실제 seed 계정으로 교체해야 함의존성
#100 공통 API 클라이언트 레이어가 먼저 필요해
status:blocked로 표시. #100 완료 후 진행.