トークン検証¶
アプリ クライアントからのログイン成功後に返された 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 | 不明なエラー |
| ## リクエストの例 | |
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 検証エラーコードを参照してください。