기본 정보
-
Base URL: http://api.moayong.com/api/v1
-
인증 방식: HttpOnly Cookie
-
응답 구조:
{
"code": "200",
"data": {성공 데이터},
"message": "성공"
}
-
에러 응답 예시 :
{
"code": "TOKEN_EXPIRED",
"data": null,
"message": "엑세스 토큰이 만료되었습니다"
}
로그인 정책 정하기
로그인 과정
1. 로그인 요청 (프론트 → 백)
- 특정 소셜로 로그인: GET
"/authorize/{provider}"
- 호출시 백엔드에서 provider에 맞는 로그인페이지로 리다이렉트
2. OAUTH 로그인 이후 (백 → 프론트)
- 이미 있는 계정
- 백엔드에서 권한이 USER 인 access token, refresh token 발급 후 refresh token은 레디스에 저장
- rt:{user_id} : {refresh_token}
- 쿠키에 access_token, refresh_token 보냄
- 새로운 계정
- 백엔드에서 권한이 ONBOARDING 인 access token 만 발급하고 id와 소셜 정보를 20분 ttl 로 레디스에 저장
- 새로운 계정은 쿠키에 access_token 만 보냄
권한 ONBOARDING vs USER
jwt를 encode할때 권한정보를 같이 encode 하고, 요청이 들어올 경우 access_token의 role을 decode해서 역할에 따라 접근 가능한 url 제한
(쿠키에 넣지 않으므로 프론트는 알필요 없다)
- ONBOARDING
- auth/onboarding/complete
- verification/bank-account/start
- verification/bank-account/status
- verification/bank-account/result