인증
현재 사용자명 기반 인증을 사용합니다. 비밀번호 없이 사용자명만으로 로그인/회원가입이 가능합니다.
POST /api/auth/sign-up { username }→ 201: 가입 성공 + 세션 쿠키 설정→ 409: 이미 존재하는 사용자명POST /api/auth/login { username }→ 200: 로그인 성공 + 세션 쿠키 설정→ 404: 사용자를 찾을 수 없음- 쿠키 기반 세션 —
credentials: "same-origin"으로 전송 - 서버 사이드 JWT —
JWT_SECRET환경변수로 서명 - 401 자동 처리 — API 응답이 401이면 로그인 페이지로 리다이렉트
- 크로스 탭 동기화 —
BroadcastChannel("idp-auth-session")으로 로그아웃/세션 만료 전파
| 가드 | 위치 | 동작 |
|---|---|---|
| 로그인 리다이렉트 | /login | 이미 인증 → 워크스페이스로 |
| 앱 진입 가드 | /_app | 미인증 → /login으로 |
| 워크스페이스 검증 | /$workspaceId | 잘못된 ID → /workspace-switch |