ข้ามไปที่เนื้อหา

จัดการบัญชี IdP

สร้างและจัดการบัญชีผู้เล่นโดยใช้ข้อมูลประจำตัว IdP (ผู้ให้บริการข้อมูลประจำตัว) API "การจัดการบัญชี IdP" ทำงานผ่านการสื่อสารแบบเซิร์ฟเวอร์ถึงเซิร์ฟเวอร์ โดยที่เซิร์ฟเวอร์แอปจะเรียกใช้เซิร์ฟเวอร์การตรวจสอบสิทธิ์ Hive โดยตรง สามารถใช้เพื่อวัตถุประสงค์ต่างๆ รวมถึงการสร้าง ID ผู้เล่น การเข้าสู่ระบบ การเชื่อมโยงและยกเลิกการเชื่อมโยง IdP การใช้การเข้าสู่ระบบในสภาพแวดล้อมทางเว็บ และการย้ายบัญชีที่มีอยู่

Note

API นี้ไม่รองรับการตรวจสอบสิทธิ์ผู้ใช้หรือการได้มาซึ่งข้อมูลรับรองผ่านผู้ให้บริการตรวจสอบสิทธิ์ภายนอก เช่น Google, Meta และ Apple ใช้กระบวนการเหล่านี้โดยตรงในไคลเอนต์แอปและส่งต่อผลลัพธ์ไปยังเซิร์ฟเวอร์แอป

API ที่ได้รับจากคุณสมบัติ 'การจัดการบัญชี IdP' มีดังต่อไปนี้ | จุดสิ้นสุด API | คำอธิบาย | | --- | --- | | POST /v2/game/auth/signinidp | เข้าสู่ระบบด้วย IdP | | POST /v2/game/auth/connect | เชื่อมโยง IdP | | POST /v2/game/auth/disconnect | ยกเลิกการเชื่อมโยง IdP |

IdP เข้าสู่ระบบ

สร้าง ID ผู้เล่นสำหรับผู้เล่นใหม่โดยใช้ข้อมูล IdP หรือส่งคืนข้อมูลผู้เล่นที่มีอยู่หาก IdP ลงทะเบียนแล้ว เมื่อคำขอเข้าสู่ระบบ IdP สำเร็จ คุณสามารถตรวจสอบ ID ผู้เล่นที่สร้างขึ้นได้ใน data.player_id

URL คำขอ

URL การผลิต https://auth.qpyou.cn/v2/game/auth/signinidp
URL แซนด์บ็อกซ์ https://sandbox-auth.qpyou.cn/v2/game/auth/signinidp
วิธี HTTP POST
Content-Type application/json
รูปแบบข้อมูล JSON

ส่วนหัวคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
X-Access-Token โทเค็นการเข้าถึง OAuth 2.0 สำหรับการตรวจสอบเซิร์ฟเวอร์เกม
(ดู การออก OAuth token)
String Y
ISCRYPT ข้อมูลถูกเข้ารหัสหรือไม่ (0 = ไม่ได้เข้ารหัส; ให้ผ่าน 0 เสมอ) Integer Y

ขอเนื้อความ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
appid รหัสแอป String Y
idp_index รหัสดัชนี IdP ดูเอกสารอ้างอิงดัชนี IdP Integer Y
idp_user_id ตัวระบุเฉพาะของผู้ใช้ IdP String Y
require_token ไม่ว่าจะขอโทเค็นผู้เล่นหรือไม่ true เมื่อใช้ ลบบัญชี API; false เมื่อไม่ได้ใช้งาน Boolean Y
Note

หากต้องการใช้ ลบบัญชี API ให้ตั้งค่า require_token เป็น true เพื่อรับค่า Authorization ในส่วนหัวการตอบกลับ หากคุณไม่ได้ใช้คุณสมบัติการลบบัญชี ให้ตั้งค่าเป็น false

ส่วนหัวของการตอบกลับ

ชื่อฟิลด์ คำอธิบาย ประเภท
Authorization โทเค็นเซสชัน ออกเมื่อ require_token: true String
Content-Type ข้อมูลรูปแบบข้อมูลการตอบกลับ (JSON) และการเข้ารหัสอักขระ (UTF-8) String
ISCRYPT ไม่ว่าการตอบสนองจะถูกเข้ารหัส Integer

เนื้อหาการตอบสนอง

ชื่อฟิลด์ คำอธิบาย ประเภท
result_code รหัสตอบกลับ รายละเอียด Integer
result_msg ข้อความผลลัพธ์ String
token_validation ผลการตรวจสอบ JWT (ข้อผิดพลาดการตรวจสอบ JWT) Object
token_validation.result_code รหัสผลลัพธ์การตรวจสอบ JWT Integer
token_validation.result_msg ข้อความผลการตรวจสอบ JWT String
data.player_id PlayerID BigInteger
data.idp_index ดัชนี IdP Integer
data.idp_id ชื่อรหัสประจำตัว String
data.idp_user_id รหัสผู้ใช้ IdP String

รหัสตอบกลับ

ค่าโค้ด คำอธิบาย
0 ความสำเร็จ
2499 การตรวจสอบ JWT ล้มเหลว (ดู token_validation)
4000 พารามิเตอร์ไม่ถูกต้อง
4001 ขอข้อผิดพลาด JSON
4200 IdP ที่ไม่มีอยู่
5000 ข้อผิดพลาดเซิร์ฟเวอร์ภายใน
7000 โทเค็นไม่ถูกต้อง
7001 ไม่มีค่าโทเค็นในส่วนหัว

ขอตัวอย่าง

{
    "appid": "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal",
    "idp_index": 3,
    "idp_user_id": "google_67890",
    "require_token": true
}

ตัวอย่างการตอบกลับ

หัวเรื่อง

HTTP/1.1 200
Content-Type: application/json; charset=UTF-8
Authorization: abcdf7ebce779429ea878f91d5f1c8
ISCRYPT: 0

ความสำเร็จ

{
    "result_code": 0,
    "result_msg": "SUCCESS",
    "token_validation": {
        "result_code": 0,
        "result_msg": "success"
    },
    "data": {
        "player_id": 100000002,
        "idp_index": 3,
        "idp_id": "GOOGLE",
        "idp_user_id": "google_67890"
    }
}


ลิงค์ IdP

เชื่อมโยง IdP ใหม่กับบัญชีผู้เล่นที่มีอยู่ การเชื่อมโยง IdP จะใช้งานได้หลังจากสร้าง ID ผู้เล่นแล้วเท่านั้น

URL คำขอ

URL การผลิต https://auth.qpyou.cn/v2/game/auth/connect
URL แซนด์บ็อกซ์ https://sandbox-auth.qpyou.cn/v2/game/auth/connect
วิธี HTTP POST
Content-Type application/json
รูปแบบข้อมูล JSON

ส่วนหัวคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
X-Access-Token โทเค็นการเข้าถึง OAuth 2.0 สำหรับการตรวจสอบเซิร์ฟเวอร์เกม
(ดู การออก OAuth token)
String Y
ISCRYPT ข้อมูลถูกเข้ารหัสหรือไม่ (0 = ไม่ได้เข้ารหัส; ให้ผ่าน 0 เสมอ) Integer Y

ขอเนื้อความ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
appid รหัสแอป String Y
idp_index รหัสดัชนี IdP ดูเอกสารอ้างอิงดัชนี IdP Integer Y
idp_user_id ตัวระบุเฉพาะของผู้ใช้ IdP String Y
player_id PlayerID เพื่อลิงก์ BigInteger Y

เนื้อหาการตอบสนอง

ชื่อฟิลด์ คำอธิบาย ประเภท
result_code รหัสตอบกลับ รายละเอียด Integer
result_msg ข้อความผลลัพธ์ String
token_validation ผลการตรวจสอบ JWT (ข้อผิดพลาดการตรวจสอบ JWT) Object
token_validation.result_code รหัสผลลัพธ์การตรวจสอบ JWT Integer
token_validation.result_msg ข้อความผลการตรวจสอบ JWT String
data.player_id PlayerID BigInteger
data.idp_index ดัชนี IdP ที่เชื่อมโยง Integer
data.idp_id ชื่อ IdP ที่เชื่อมโยง String
data.idp_user_id รหัสผู้ใช้ IdP String
#### รหัสตอบกลับ
ค่าโค้ด คำอธิบาย
--- ---
0 ความสำเร็จ
1002 IdP นี้เชื่อมโยงกับผู้เล่นอื่นแล้ว
1003 ลิงก์ IdP ประเภทเดียวกันแล้ว
2002 ผู้เล่นที่ไม่มีอยู่
2499 การตรวจสอบ JWT ล้มเหลว (ดู token_validation)
4000 พารามิเตอร์ไม่ถูกต้อง
4200 IdP ที่ไม่มีอยู่
5000 ข้อผิดพลาดเซิร์ฟเวอร์ภายใน
7000 โทเค็นไม่ถูกต้อง
7001 ไม่มีค่าโทเค็นในส่วนหัว

ขอตัวอย่าง

{
    "appid": "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal",
    "idp_index": 2,
    "idp_user_id": "fb_12345678",
    "player_id": 100000001
}

ตัวอย่างการตอบกลับ

ความสำเร็จ

{
    "result_code": 0,
    "result_msg": "SUCCESS",
    "token_validation": {
        "result_code": 0,
        "result_msg": "success"
    },
    "data": {
        "player_id": 100000001,
        "idp_index": 2,
        "idp_id": "FACEBOOK",
        "idp_user_id": "fb_12345678"
    }
}

เชื่อมโยงกับผู้เล่นอื่นแล้ว

{
    "result_code": 1002,
    "result_msg": "Already connected other player",
    "token_validation": {
        "result_code": 0,
        "result_msg": "success"
    },
    "data": {
        "player_id": 100000002,
        "idp_index": 2,
        "idp_id": "FACEBOOK",
        "idp_user_id": "fb_12345678"
    }
}


ยกเลิกการเชื่อมโยง IdP

ยกเลิกการเชื่อมโยง IdP ที่เชื่อมโยงกับบัญชีผู้เล่น การยกเลิกการเชื่อมโยง IdP จะใช้งานได้หลังจากสร้าง ID ผู้เล่นแล้วเท่านั้น

URL คำขอ

URL การผลิต https://auth.qpyou.cn/v2/game/auth/disconnect
URL แซนด์บ็อกซ์ https://sandbox-auth.qpyou.cn/v2/game/auth/disconnect
วิธี HTTP POST
Content-Type application/json
รูปแบบข้อมูล JSON

ส่วนหัวคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
X-Access-Token โทเค็นการเข้าถึง OAuth 2.0 สำหรับการตรวจสอบเซิร์ฟเวอร์เกม
(ดู การออก OAuth token)
String Y
ISCRYPT ข้อมูลถูกเข้ารหัสหรือไม่ (0 = ไม่ได้เข้ารหัส; ให้ผ่าน 0 เสมอ) Integer Y

ขอเนื้อความ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
appid รหัสแอป String Y
idp_index รหัสดัชนี IdP ดูเอกสารอ้างอิงดัชนี IdP Integer Y
idp_user_id ตัวระบุเฉพาะของผู้ใช้ IdP String Y
player_id PlayerID เพื่อยกเลิกการเชื่อมโยง BigInteger Y

เนื้อหาการตอบสนอง

ชื่อฟิลด์ คำอธิบาย ประเภท
result_code รหัสตอบกลับ รายละเอียด Integer
result_msg ข้อความผลลัพธ์ String
token_validation ผลการตรวจสอบ JWT (ข้อผิดพลาดการตรวจสอบ JWT) Object
token_validation.result_code รหัสผลลัพธ์การตรวจสอบ JWT Integer
token_validation.result_msg ข้อความผลการตรวจสอบ JWT String
#### รหัสตอบกลับ
ค่าโค้ด คำอธิบาย
--- ---
0 ความสำเร็จ
2499 การตรวจสอบ JWT ล้มเหลว (ดู token_validation)
4000 พารามิเตอร์ไม่ถูกต้อง
4006 ไม่มีข้อมูล IdP ที่เชื่อมโยง
4200 IdP ที่ไม่มีอยู่
7000 โทเค็นไม่ถูกต้อง
7001 ไม่มีค่าโทเค็นในส่วนหัว

ขอตัวอย่าง

{
    "appid": "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal",
    "idp_index": 2,
    "idp_user_id": "fb_12345678",
    "player_id": 100000001
}

ตัวอย่างการตอบกลับ

ความสำเร็จ

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

เมื่อการตรวจสอบ JWT ล้มเหลว คุณสามารถตรวจสอบข้อมูลข้อผิดพลาดโดยละเอียดได้ในฟิลด์ token_validation สำหรับรายละเอียด โปรดดู รหัสข้อผิดพลาดการตรวจสอบ JWT