예상동작
- 서버 유저 정보 생성 및 조회 후 토큰발급
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: 로그인 완료

- client주소/login?token=${accessToken} 리다이렉트
- 로그인 후 localhost:3000 으로 리다이렉트 중이기 때문에
- API호출이 아니라 그냥 창으로 로그인 했다면 url에 나타난 토큰 사용
- Authorization : Bearer ${accessToken} 등록 - 해당 Token 가지고 api 사용
- /api/me 로 유저 정보 받기
- API 사용시 accessToken 만료되면 - 만료된 토큰입니다 401
- /tokens로 accessToken 갱신
- 서버에 저장된 refreshToken이 유효하다면 accessToken 재발급
- 서버에 저장된 refresh도 만료되었다면 - 만료된 토큰입니다 401
- 사용자에게 재로그인 요청