토큰 검증
토큰 검증하기¶
게임 클라이언트에서 로그인 성공 후 PlayerInfo
응답값에 있는 토큰, PlayerID, DID를 이용하여 게임 서버에서는 로그인한 유저의 토큰키 유효성 여부를 검증 할 수 있습니다. 게임에서 중복 로그인을 허용하지 않는 경우, 검증이 완료된 토큰키를 관리하거나 이를 이용한 게임 자체의 세션키를 관리하여 해당 기능을 구현해야 합니다.
- Request URL
상용 URL | https://auth.qpyou.cn/game/token/get-token |
---|---|
분산환경 URL | https://auth.globalwithhive.com/game/token/get-token |
Sandbox URL | https://sandbox-auth.qpyou.cn/game/token/get-token |
HTTP Method | Post |
Content-Type | application/json |
Data Format | JSON |
Note
인증 v4는 장애가 발생하거나 네트워크 통신이 원활하지 않을 경우에 대비하여 분산 환경을 구성하고 있습니다. 만약 장애나 네트워크 통신 이상으로 게임서버에 정의된 통신 타임아웃 시간을 초과하면 분산환경 URL를 호출해야 합니다.
- Request Header
필드명 | 설명 | 타입 | 필수여부 |
---|---|---|---|
Authorization | 로그인 성공 후 반환된 토큰키 | String | Y |
ISCRYPT | 데이터 암호화 여부, 0=암호화 안함 | Integer | Y |
- Request Body
필드명 | 설명 | 타입 | 필수여부 |
---|---|---|---|
appid | 로그인 한 게임의 AppID | String | Y |
did | 로그인 성공 후 반환된 DID | String | Y |
player_id | 로그인 성공 후 반환된 V4인증 PlayerID | Integer | Y |
hive_certification_key | Hive 인증키(앱센터에서 발급) 자세히 | String | N |
- Response
필드명 | 설명 | 타입 |
---|---|---|
result_code | 검증 결과, 0=검증 성공 자세히 | Integer |
result_msg | 결과 메시지 | String |
- Request Sample
{
"appid":"com.withhive",
"did":"255764404509548",
"player_id": 21,
"hive_certification_key" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAyMDU2NzI2LCJqdGkiOiIxODczMTExMzIwIn0.3soFiHTPlObCoqR5xX9ZeOQTSvnHrHDHWmopP3QfWtY"
}
- Response Sample
- Error Code { #result-code }
코드값 | 설명 |
---|---|
0 | 성공 |
2300 | 환불 유저 재결제 대상 |
4000 | 유효하지 않은 파라미터 |
4001 | request json 에러 |
4002 | Hive 인증키 에러 |
5000 | DB 에러 |
5001 | 분산환경(AWS)에서 유효하지 않은 토큰 |
6000 | 유효하지 않는 appid |
6001 | IDP 토큰 에러 |
7000 | 유효하지 않은 토큰 |
7001 | header에 토큰값 없음 |
9999 | 알수없는 오류 |
토큰을 검증하고 PlayerID에 해당하는 IdP ID 리스트를 반환¶
게임 내 커뮤니티에서 로그인 성공 후, 토큰, PlayerID, AppID, DID(Authorization 토큰, PlayerID, DID는 로그인 후 PlayerInfo
로 받음)를 이용하여 로그인한 유저 토큰 유효성을 검증하고 PlayerID에 해당하는 IdP ID 리스트를 조회합니다.
- Request URL
상용 URL | https://auth.qpyou.cn/server/player/get-idpuserid |
---|---|
분산환경 URL | https://auth.globalwithhive.com/server/player/get-idpuserid |
Sandbox URL | https://sandbox-auth.qpyou.cn/server/player/get-idpuserid |
HTTP Method | Post |
Content-Type | application/json |
Data Format | JSON |
Note
인증 v4는 장애가 발생하거나 네트워크 통신이 원활하지 않을 경우에 대비하여 분산 환경을 구성하고 있습니다. 만약 장애나 네트워크 통신 이상으로 게임서버에 정의된 통신 타임아웃 시간을 초과하면 분산환경 URL를 호출해야 합니다.
- Request Header
필드명 | 설명 | 타입 | 필수여부 |
---|---|---|---|
Authorization | 로그인 성공 후 반환된 토큰값 | String | Y |
ISCRYPT | 데이터 암호화 여부, 0=암호화 안함 | Integer | Y |
- Request Body
필드명 | 설명 | 타입 | 필수여부 |
---|---|---|---|
appid | 로그인한 게임의 AppID | String | Y |
did | 로그인 성공 후 반환된 DID | String | Y |
player_id | 로그인 성공 후 반환된 V4인증 PlayerID | Integer | Y |
- Request Body Example
{
"player_id": 20000016588,
"appid" : "com.com2us.hivesdk.normal.freefull.google.global.android.common",
"did" : 303581410
}
- Response Body
필드명 | 설명 | 타입 |
---|---|---|
result_code | 검증 결과, + 0: 성공 + 4000: 파라미터값이 정상적이지 않음. + 7000: 검증 실패. 검증할 토큰값이 일치하지 않음. | Integer |
result_msg | 결과 메시지 | String |
data | 결과 데이터 | JSON |
- Response Body -
data
필드명 | 설명 | 타입 |
---|---|---|
data.list | 결과 데이터 리스트 | Array |
data.list.player_id | Request Body로 요청한 PlayerID | String |
data.list.idp_user_id | IdP에서 전달받은 Account Token(uid) | String |
data.list.idp_index | idp_index + 1: HIVE + 2: Facebook + 3: GOOGLE + 9: APPLE | String |
- Response Body Sample