จัดการบัญชี 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 คำขอ ส่วนหัวคำขอ ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น 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 คำขอ ส่วนหัวคำขอ ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น 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 คำขอ ส่วนหัวคำขอ ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น 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