토큰 재발급 - DevCamp2Flame/FlameTalk_Server GitHub Wiki

Renew Token API

Request

Method

GET

URL

/api/auth/token

Header

Method Parameter Description
ACCESS-TOKEN {access-token} 만료된 어세스 토큰 값
REFRESH-TOKEN {refresh-token} 유효한 리프레시 토큰 값

ACCESS-TOKEN example

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxNjQyNjQwNTA2NjQ0ODI2NzUxIiwibmlja25hbWUiOiJkYXJvbSIsInN0YXR1cyI6IlJPTEVfVVNFUiIsImRldmljZUlkIjoiMTIzNDU2Nzg5MDEyMzQ1NiIsImlhdCI6MTY0MjY0NDMzOCwiZXhwIjoxNjQyNjQ0MzM5fQ.r9atSUvd-AsPn1GRxi7Vtov3zD0kPEPLnT9P0kkTUyY

REFRESH-TOKEN example

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxNjQyNjQwNTA2NjQ0ODI2NzUxIiwibmlja25hbWUiOiJkYXJvbSIsInN0YXR1cyI6IlJPTEVfVVNFUiIsImRldmljZUlkIjoiMTIzNDU2Nzg5MDEyMzQ1NiIsImlhdCI6MTY0MjY0NDMzOCwiZXhwIjoxNjQzODUzOTM4fQ.gB-kVQY48EILBteUpfweUpUsRrc7MwADW6aOc3sNdtQ

Response

Header

Method Parameter Description
statusCode {statusCode}

Body

Field Type Description
status int 상태 코드
message String status 메시지
userId String 이메일
nickname String 별명
status String 권한 & 상태
accessToken String resource server 통신에 활용
refreshToken String 토큰 재발급에 이용됨

SUCCESS example

{
  "status": 201,
  "message": "토큰 갱신 성공",
  "data":{
    "userId": "1642474080292475029",
    "nickname": "darom",
    "status": "ROLE_USER",
    "accessToken": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxNjQyNDc0MDgwMjkyNDc1MDI5Iiwibmlja25hbWUiOiJkYXJvbSIsInN0YXR1cyI6IlJPTEVfVVNFUiIsImRldmljZUlkIjoiMTIzNDU2Nzg5MDEyMzQ1NiIsImlhdCI6MTY0MzAxNTYyNywiZXhwIjoxNjQzMDE1Njg3fQ.tIntjR7vmhM6NRRilXc1dufD-xLDTVt365VU5dwXSkU",
    "refreshToken": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxNjQyNDc0MDgwMjkyNDc1MDI5Iiwibmlja25hbWUiOiJkYXJvbSIsInN0YXR1cyI6IlJPTEVfVVNFUiIsImRldmljZUlkIjoiMTIzNDU2Nzg5MDEyMzQ1NiIsImlhdCI6MTY0MzAxNTU0OCwiZXhwIjoxNjQ0MjI1MTQ4fQ.UEFsc-nrbNzJ61aHN_ZgYfw6QfQWEzRvZhCIJcR4JFU"
  }
}

Error Code

Status Error Messsage Code Description
307 TEMPORARY_REDIRECT REDIRECT_TO_LOGIN accessToken이 만료되지 않거나, token이 DB에 저장된 값과 다를 때
404 NOT_FOUND USER_NOT_FOUND 토큰의 사용자 정보가 올바르지 않을 때
404 NOT_FOUND TOKEN_NOT_FOUND token DB 에서 토큰을 찾을 수 없을 때
500 SERVER_ERROR INTERNAL_SERVER_ERROR 이외의 Error 일 경우

FAIL example

{
  "status": 307,
  "message": "다시 로그인 하세요. /api/auth/signin",
  "data":{
    "userId": null,
    "nickname": null,
    "status": null,
    "accessToken": null,
    "refreshToken": null
  }
}
{
  "status": 404,
  "message": "해당 사용자 정보를 찾을 수 없습니다.",
  "data":{
    "userId": null,
    "nickname": null,
    "status": null,
    "accessToken": null,
    "refreshToken": null
  }
}
  • 해당 사용자 정보를 찾을 수 없습니다.는 token 인증 이후로 접근하게 되면, 발생하지 않는 error 임
{
  "timestamp": "2022-01-27T09:16:17.7274643",
  "status": 404,
  "error": "NOT_FOUND",
  "code": "TOKEN_NOT_FOUND",
  "message": "저장된 토큰을 찾을 수 없습니다."
}