Skip to content

POST /api/v1/auth/kakao/token

의도

카카오 OAuth AccessToken으로 dartbrief JWT를 발급한다. 첫 로그인이면 자동으로 계정 생성.

인증

없음 (로그인 전 호출)

입력

json
{ "access_token": "<카카오 OAuth AccessToken>" }

응답

200 OK

json
{ "token": "eyJhbGci..." }

400 Bad Request — access_token 누락

401 Unauthorized — 카카오 인증 실패

curl 예제

bash
curl -s -X POST https://api.dartbrief.com/api/v1/auth/kakao/token \
  -H "Content-Type: application/json" \
  -d '{"access_token":"<카카오 토큰>"}' | jq

# 로컬
curl -s -X POST http://localhost:8000/api/v1/auth/kakao/token \
  -H "Content-Type: application/json" \
  -d '{"access_token":"<카카오 토큰>"}' | jq

비즈니스 메모

  • 발급된 JWT는 Authorization: Bearer $TOKEN 헤더로 사용 (HttpOnly 쿠키 방식 폐기)
  • TTL은 JWT_EXPIRATION_MS 환경변수 (밀리초 단위, 기본 168h = 7일)
  • 카카오 토큰은 Flutter 앱에서 kakao_flutter_sdk로 발급 후 바로 이 API 호출

GET /api/v1/auth/me

의도

현재 JWT의 사용자 정보 조회.

인증

Bearer JWT 필수

응답

200 OK

json
{ "user_id": 42 }

401 Unauthorized

curl 예제

bash
curl -s -H "Authorization: Bearer $TOKEN" \
  https://api.dartbrief.com/api/v1/auth/me | jq

DELETE /api/v1/auth/withdraw

의도

회원 탈퇴 — 사용자 + 연관 데이터 전부 트랜잭션으로 삭제.

인증

Bearer JWT 필수 + X-Confirm-Withdraw: yes 헤더 필수 (CSRF/실수 방지)

응답

204 No Content — 탈퇴 완료

400 Bad Request — X-Confirm-Withdraw 헤더 누락

401 Unauthorized

curl 예제

bash
curl -s -X DELETE \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Confirm-Withdraw: yes" \
  https://api.dartbrief.com/api/v1/auth/withdraw