HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
♥️
2기 최종 프로젝트 팀별 공간
/
📚
[팀06] Books
/
♣️
API 스펙
/
💭
회원가입/로그인
💭

회원가입/로그인

Method
Post
Domain
User
담당자
Subin kim
성공시 반환코드
200
ok
end-point
/oauth2/authorization/{vendor}
완료
요구사항
📜
회원가입/로그
권한
⚙
예상동작
  • 서버 유저 정보 생성 및 조회 후 토큰발급

Request

Request Header

  • none

Path Variable

  • none

Request Body

  • none
 

Response

200 ok

Response Header

  • none

Response Body

{ "data":{ "accessToken" : "${access_token_value}", "refreshToken" : "${refresh_token_value}" }, }
{ "errors": [ "message": "해당 댓글에 대한 권한이 없는 사용자입니다" ] }

예외상황

     

    흐름도

    sequenceDiagram User->>+Client: {kakao} 로그인 요청 Client->>Server: POST /oauth2/authorization/{kakao} Server-->>Client: {kakao} 로그인 창 응답 Client->>User: {kakao} 로그인 요청 User ->>+Authorization Server : {kakao} 인증 요청 Authorization Server -->> Server: Authorization code 응답 Server->> Authorization Server : 토큰 교환 요청 Authorization Server -->> Server : 토큰 응답 Server->> Resource Server : 회원 정보 조회 요청 Resource Server -->> Server: 회원 정보 응답 Server-->>Client: Jwt 토큰 응답 Client-->>User: 로그인 완료
    notion image
     
    1. client주소/login?token=${accessToken} 리다이렉트
      1. 로그인 후 localhost:3000 으로 리다이렉트 중이기 때문에
      2. API호출이 아니라 그냥 창으로 로그인 했다면 url에 나타난 토큰 사용
    1. Authorization : Bearer ${accessToken} 등록 - 해당 Token 가지고 api 사용
    1. /api/me 로 유저 정보 받기
    1. API 사용시 accessToken 만료되면 - 만료된 토큰입니다 401
        • /tokens로 accessToken 갱신
            1. 서버에 저장된 refreshToken이 유효하다면 accessToken 재발급
            1. 서버에 저장된 refresh도 만료되었다면 - 만료된 토큰입니다 401
              1. 사용자에게 재로그인 요청