跳轉至

權杖驗證

使用從應用程式用戶端成功登入後傳回的 PlayerInfo 中的令牌、玩家 ID 和裝置 ID 來驗證應用程式伺服器上的使用者令牌。 驗證令牌 API 透過伺服器到伺服器通訊進行操作,其中應用程式伺服器直接呼叫 Hive 身份驗證伺服器。如果應用程式不允許重複登錄,您可以管理驗證令牌或使用應用程式自己的會話密鑰實施會話管理。

請求網址

生產網址 https://auth.qpyou.cn/v2/game/token/get-token
分散式環境URL https://auth.globalwithhive.com/v2/game/token/get-token
沙箱網址 https://sandbox-auth.qpyou.cn/v2/game/token/get-token
HTTP 方法 POST
Content-Type application/json
資料格式 JSON
Note

Hive認證伺服器配置在分散式環境中,以應對故障或網路通訊不穩定的情況。
如果與認證伺服器主機通訊失敗,或超過應用程式伺服器定義的逾時時間,應用程式伺服器必須直接呼叫分散式環境URL(Fallback URL)。


請求頭

欄位名稱 描述 類型 必填
Authorization 遊戲用戶端成功登入後回傳的使用者令牌(PlayerInfo.token) String Y
X-Access-Token 遊戲用戶端登入成功後回傳的使用者Token
OAuth 2.0 用於驗證玩家身分的存取權杖
String Y
ISCRYPT 資料是否加密(0 = 未加密;始終傳遞 0) Integer Y

## 請求正文
欄位名稱 描述 類型 必填
--- --- --- ---
appid 應用程式 ID String Y
did 登入成功後回傳的裝置ID String Y
player_id 登入成功後回傳的驗證玩家ID BigInteger Y
include_fields 附加欄位清單 用於在回應中要求附加資訊的欄位清單 Array N
Note

您可以選擇透過 include_fields 參數傳回附加資訊。當請求令牌驗證時,回應會根據 include_fields 陣列中指定的欄位值在 data 下包含對應的資訊。

附加欄位清單

欄位名稱 描述 類型
is_blocked 是否限制使用(true - 限制,false - 正常) Boolean
is_device_registered 是否使用設備管理(true - 使用,false - 不使用) Boolean
join_timestamp player_id 註冊日期(Unix 時間戳記) Long
china_pi_no 中國實名認證號碼。未完成實名認證返回null String / null

## 響應體
欄位名稱 描述 類型
--- --- ---
result_code 回應代碼, 0=驗證成功 Integer
result_msg 結果留言 String
token_validation JWT 驗證結果 (JWT 驗證錯誤) Object
token_validation.result_code JWT驗證結果碼 Integer
token_validation.result_msg JWT 驗證結果訊息 String
data 包含請求中 include_fields 中指定訊息的物件 Object

回應碼

代碼值 描述
0 成功
2300 已退款用戶需還款
4000 無效參數
4001 請求 JSON 錯誤
2499 JWT 驗證失敗(請參閱 token_validation)
5000 資料庫錯誤
6000 無效的appid
6001 IdP 令牌錯誤
7000 無效令牌
7001 標頭中沒有標記值
9999 未知錯誤

## 請求範例
{
    "appid": "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal",
    "did": "255764404509548",
    "player_id": 10000000000
}

包含字段

{
    "appid": "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal",
    "did": "255764404509548",
    "player_id": 10000000000,
    "include_fields": ["is_blocked", "is_device_registered", "join_timestamp", "china_pi_no"]
}


回應範例

成功

{
    "result_code": 0,
    "result_msg": "SUCCESS",
    "token_validation": {
        "result_code": 0,
        "result_msg": "success"
    }
}

JWT 驗證失敗

{
    "result_code": 2499,
    "result_msg": "JWT validation failed. See token_validation for details.",
    "token_validation": {
        "result_code": 2408,
        "result_msg": "The access token is expired. Please refresh your token."
    }
}

包含字段

{
    "result_code": 0,
    "result_msg": "SUCCESS",
    "token_validation": {
        "result_code": 0,
        "result_msg": "success"
    },
    "data": {
        "is_blocked": false,
        "is_device_registered": false,
        "join_timestamp": 1495594605,
        "china_pi_no": null
    }
}
Note

當JWT驗證失敗時,您可以在token_validation欄位中查看詳細的錯誤訊息。詳細資訊請參閱JWT 驗證錯誤代碼