토큰 갱신
토큰 갱신 은 로그인 검증 및 유저 정보 조회 API 요청 후, 발급받은 리프레시 토큰(user_info.refresh_token
)을 사용하여 액세스/리프레시 토큰을 갱신하는 API입니다.
Note
액세스 토큰은 발급 후 1시간 동안 유효하며, 만료 전이나 만료 후에도 리프레시 토큰을 사용해 갱신할 수 있습니다. 리프레시 토큰의 유효 기간은 30일입니다.
Request URL¶
환경 | URL |
---|---|
상용 (Production) | https://weblogin.withhive.com/oauth/token |
샌드박스 (Sandbox) | https://sandbox-weblogin.withhive.com/oauth/token |
HTTP Method | POST |
Content-Type | application/json |
Request Body¶
필드명 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
grant_type | String | OAuth 2.0 인가 코드 방식 기본값: refresh_token | Y |
client_id | String | 보안 키 설정에서 생성한 OAuth 2.0 Client ID. Hive 콘솔 앱센터 > 보안 키 설정 에서 확인할 수 있습니다. | Y |
client_secret | String | 보안 키 설정에서 생성한 OAuth 2.0 Client Secret. Hive 콘솔 앱센터 > 보안 키 설정 에서 확인할 수 있습니다. | Y |
refresh_token | String | 리프레시 토큰 | Y |
Request Body Example¶
{
"grant_type": "refresh_token",
"client_id": "58b48cd3-df47-5b52-2627-3f9c8d01",
"client_secret": "bec7760b237244c4c818d6174587d8e1",
"refresh_token": "eyJraWQiOiIwYThlMThkOS1hNmZiLTM3ZDMtNjkwYy02Zjg1ZTllNCIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJpc193aGl0ZWxpc3QiOmZhbHNlLCJwcm9qZWN0X2lkIjoiY29tLmNvbTJ1cy5oaXZlc2RrIiwiZ3JhbnRfdHlwZSI6InVzZXIiLCJ1c2VyX2lkIjoyMDAwMDAxODU1MiwidG9rZW5fdHlwZSI6InJlZnJlc2hfdG9rZW4iLCJleHAiOjE3NDgxNTAzODMsImlhdCI6MTc0NTU1ODM4MywiYXV0aF92ZXIiOiJ2NCJ9.fvXTfRDYhlk21EY-ngAXbQMgYM9f-rFYPBa_GMV3JDz3cy9wwGfPTnF-VO0WkpxzpPdbG1ZX0HAdIkT4kF873ee2d-g6-JeuIEy0SFcTMpdYWXnlOfsuZlFIkzCm0OB_mlnNo_wxXHvjHM_dFDF-SfK2r9_ga8yLOXDfLJeA4XUYGwwsG3XT9x5Vy8RlUcF2aeuf-2bXdLSD2NGssZh18RTayV2CNtGuX0kj-nABVVTzLWUqbwKSrIVXjlS76zxl3SisUW_pz97iM98yLLRdpe_56_VDPzKEqVmn4bCyhhlAT1LEdu_uudlBY7hSUX0cJzcLAtj_4GReuLU9SnvQpw"
}
Response Body¶
필드명 | 타입 | 설명 | 비고 |
---|---|---|---|
code | Integer | 웹 로그인 응답 코드 | |
access_token | String | 액세스 토큰 | 유효 시간: 1시간 |
refresh_token | String | 리프레시 토큰 | 유효 기간: 30일 |
웹 로그인 응답 코드¶
code | 설명 | 비고 |
---|---|---|
100 | 성공 | |
1050 | 유효하지 않은 파라미터 | |
2011 | 프로젝트 정보가 없음 | |
2013 | 프로젝트가 종료된 상태 | |
7001 | OAuth2.0 Client ID 값이 없음 | Hive 콘솔 앱센터 > 보안 키 설정 에서 확인 |
7002 | OAuth2.0 Client 정보 불일치 | 〃 |
7003 | OAuth2.0 Client 정보 없음 | 〃 |
7004 | OAuth2.0 지원하지 않는 토큰 발급 타입 | Request Body의 grant_type 확인 |
8001 | OAuth2.0 JWT 생성 실패 | |
8002 | OAuth2.0 JWT 검증 실패 | |
8004 | OAuth2.0 JWT 지원하지 않는 알고리즘 | |
8005 | OAuth2.0 JWT Kid 검증 실패 | |
8006 | OAuth2.0 JWT Signature 검증 실패 | |
8007 | OAuth2.0 JWT 비정상적인 Payload | |
8008 | OAuth2.0 JWT 지원하지 않는 토큰 타입 | Payload의 token_type 이 refresh_token 만 갱신 가능 |
8009 | OAuth2.0 JWT 지원하지 않는 토큰 권한 범위 | |
8011 | OAuth2.0 JWT 만료 |
Response Body Sample (성공)¶
아래와 같은 조건 만족 시 반환되는 응답 데이터 예시입니다.
- 토큰이 성공적으로 발급되었습니다.
{
"code": 100,
"access_token": "eyJraWQiOiIwYThlMThkOS1hNmZiLTM3ZDMtNjkwYy02Zjg1ZTllNCIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJpc193aGl0ZWxpc3QiOmZhbHNlLCJwcm9qZWN0X2lkIjoiY29tLmNvbTJ1cy5oaXZlc2RrIiwiZ3JhbnRfdHlwZSI6InVzZXIiLCJ1c2VyX2lkIjoyMDAwMDAxODU1MiwidG9rZW5fdHlwZSI6ImFjY2Vzc190b2tlbiIsImV4cCI6MTc0NTU2MTk4MywiaWF0IjoxNzQ1NTU4MzgzLCJhdXRoX3ZlciI6InY0In0.e4mCIirRpAni4A1ZEF3FDOFng3Da8hq6IqZmyyRQZsc7W3LfFi_id5TIQSDbvmagmT4GcwHztovpoYZxf8blwqES1lJmEVXsBBJ3qpEOAem0K9aVwY0zmOO3A0Eeh6Y0APABewNCpHiKPCMZwxSsMaUE56FfuYgnbhpsipR638VgyPniRVU-Bzcu0Pi2zo-5yUKbg2FCXex510fvZRxqGZPg8Rfhm-jXqAYuwALLIFf2ZykOWqVRFtczfPXwB6fLQrQvQeBnOYcHHnR1q8Fi-Rk_bQPsAffIemGvaC4vUeyx6Szzt_Gok1BsuF76lYZ5ogCn4lAlZ0SJLrgMM2-DNQ",
"refresh_token": "eyJraWQiOiIwYThlMThkOS1hNmZiLTM3ZDMtNjkwYy02Zjg1ZTllNCIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJpc193aGl0ZWxpc3QiOmZhbHNlLCJwcm9qZWN0X2lkIjoiY29tLmNvbTJ1cy5oaXZlc2RrIiwiZ3JhbnRfdHlwZSI6InVzZXIiLCJ1c2VyX2lkIjoyMDAwMDAxODU1MiwidG9rZW5fdHlwZSI6InJlZnJlc2hfdG9rZW4iLCJleHAiOjE3NDgxNTAzODMsImlhdCI6MTc0NTU1ODM4MywiYXV0aF92ZXIiOiJ2NCJ9.fvXTfRDYhlk21EY-ngAXbQMgYM9f-rFYPBa_GMV3JDz3cy9wwGfPTnF-VO0WkpxzpPdbG1ZX0HAdIkT4kF873ee2d-g6-JeuIEy0SFcTMpdYWXnlOfsuZlFIkzCm0OB_mlnNo_wxXHvjHM_dFDF-SfK2r9_ga8yLOXDfLJeA4XUYGwwsG3XT9x5Vy8RlUcF2aeuf-2bXdLSD2NGssZh18RTayV2CNtGuX0kj-nABVVTzLWUqbwKSrIVXjlS76zxl3SisUW_pz97iM98yLLRdpe_56_VDPzKEqVmn4bCyhhlAT1LEdu_uudlBY7hSUX0cJzcLAtj_4GReuLU9SnvQpw"
}
Response Body Sample (실패)¶
아래와 같은 조건 만족 시 반환되는 응답 데이터 예시입니다.
- 토큰 발급이 실패했습니다.