토큰 검증
토큰 검증하기
게임 클라이언트에서 로그인 성공 후 PlayerInfo 응답값에 있는 토큰, PlayerID, DID를 이용하여 게임 서버에서는 로그인한 유저의 토큰키 유효성 여부를 검증 할 수 있습니다. 게임에서 중복 로그인을 허용하지 않는 경우, 검증이 완료된 토큰키를 관리하거나 이를 이용한 게임 자체의 세션키를 관리하여 해당 기능을 구현해야 합니다.
Note
인증 v4는 장애가 발생하거나 네트워크 통신이 원활하지 않을 경우에 대비하여 분산 환경을 구성하고 있습니다. 만약 장애나 네트워크 통신 이상으로 게임서버에 정의된 통신 타임아웃 시간을 초과하면 분산환경 URL를 호출해야 합니다.
| 필드명 | 설명 | 타입 | 필수여부 |
| Authorization | 로그인 성공 후 반환된 토큰키 | String | Y |
| ISCRYPT | 데이터 암호화 여부, 0=암호화 안함 | Integer | Y |
| 필드명 | 설명 | 타입 | 필수여부 |
| appid | 로그인 한 게임의 AppID | String | Y |
| did | 로그인 성공 후 반환된 DID | String | Y |
| player_id | 로그인 성공 후 반환된 V4인증 PlayerID | BigInteger | Y |
| hive_certification_key | Hive 인증키(앱센터에서 발급) 자세히 | String | N |
| 필드명 | 설명 | 타입 |
| result_code | 검증 결과, 0=검증 성공 자세히 | Integer |
| result_msg | 결과 메시지 | String |
{
"appid":"com.withhive",
"did":"255764404509548",
"player_id": 21,
"hive_certification_key" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAyMDU2NzI2LCJqdGkiOiIxODczMTExMzIwIn0.3soFiHTPlObCoqR5xX9ZeOQTSvnHrHDHWmopP3QfWtY"
}
{
"result_code":0,
"result_message":"SUCCESS"
}
- 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 리스트를 조회합니다.
Note
인증 v4는 장애가 발생하거나 네트워크 통신이 원활하지 않을 경우에 대비하여 분산 환경을 구성하고 있습니다. 만약 장애나 네트워크 통신 이상으로 게임서버에 정의된 통신 타임아웃 시간을 초과하면 분산환경 URL를 호출해야 합니다.
| 필드명 | 설명 | 타입 | 필수여부 |
| Authorization | 로그인 성공 후 반환된 토큰값 | String | Y |
| ISCRYPT | 데이터 암호화 여부, 0=암호화 안함 | Integer | Y |
| 필드명 | 설명 | 타입 | 필수여부 |
| appid | 로그인한 게임의 AppID | String | Y |
| did | 로그인 성공 후 반환된 DID | String | Y |
| player_id | 로그인 성공 후 반환된 V4인증 PlayerID | BigInteger | Y |
{
"player_id": 20000016588,
"appid" : "com.com2us.hivesdk.normal.freefull.google.global.android.common",
"did" : 303581410
}
| 필드명 | 설명 | 타입 |
| result_code | 검증 결과, + 0: 성공 + 4000: 파라미터값이 정상적이지 않음. + 7000: 검증 실패. 검증할 토큰값이 일치하지 않음. | Integer |
| result_msg | 결과 메시지 | String |
| data | 결과 데이터 | JSON |
| 필드명 | 설명 | 타입 |
| 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 |
{
"result_code": 0,
"result_msg": "SUCCESS",
"data": {
"list": [
{
"player_id": "20000016588",
"idp_user_id": "68101398",
"idp_index": "1"
}
]
}
}