コンテンツにスキップ

トークン検証

アプリ クライアントからのログイン成功後に返された PlayerInfo のトークン、プレーヤー ID、デバイス ID を使用して、アプリ サーバー上のユーザーのトークンを検証します。 Verify token API はサーバー間通信を通じて動作し、アプリサーバーは Hive 認証サーバーを直接呼び出します。アプリで重複ログインが許可されていない場合は、検証済みのトークンを管理するか、アプリ独自のセッション キーを使用してセッション管理を実装できます。

リクエスト URL

本番URL https://auth.qpyou.cn/v2/game/token/get-token
分散環境の URL https://auth.globalwithhive.com/v2/game/token/get-token
サンドボックス URL https://sandbox-auth.qpyou.cn/v2/game/token/get-token
HTTP メソッド POST
Content-Type application/json
データ形式 JSON
Note

Hive 認証サーバーは、障害や不安定なネットワーク通信に備えて分散環境で構成されています。
認証サーバーホストとの通信中に障害が発生した場合、またはアプリサーバーで定義されたタイムアウトを超えた場合、アプリサーバーは分散環境の URL (フォールバック URL) を直接呼び出す必要があります。


リクエストヘッダー

フィールド名 説明 タイプ 必須
Authorization ゲーム クライアントのログインが成功した後に返されるユーザー トークン (PlayerInfo.token) String Y
X-Access-Token ゲーム クライアントのログインが成功した後にユーザー トークンが返されました
OAuth 2.0 プレーヤー ID 検証用のアクセス トークン
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 DBエラー
6000 無効なアプリ ID
6001 IdP トークン エラー
7000 無効なトークン
7001 ヘッダーにトークン値がありません
9999 不明なエラー

## リクエストの例
{
    "appid": "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal",
    "did": "255764404509548",
    "player_id": 10000000000
}

include_fields

{
    "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."
    }
}

include_fields

{
    "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 検証エラーコードを参照してください。