ออกคีย์การยืนยันตัวตนแบบกำหนดเอง¶
ออกคีย์การตรวจสอบสิทธิ์ที่จำเป็นสำหรับการเชื่อมโยง IdP ที่กำหนดเอง (ผู้ให้บริการข้อมูลประจำตัว) ในแอป API 'ออกคีย์การตรวจสอบสิทธิ์แบบกำหนดเอง' ทำงานผ่านการสื่อสารแบบเซิร์ฟเวอร์ถึงเซิร์ฟเวอร์ โดยที่เซิร์ฟเวอร์แอปจะเรียกใช้เซิร์ฟเวอร์การตรวจสอบสิทธิ์ Hive โดยตรง เมื่อการโทรสำเร็จ คีย์การตรวจสอบสิทธิ์แบบกำหนดเองจะถูกส่งกลับในช่อง data.custom_auth_key ของการตอบกลับ คุณสามารถใช้คีย์นี้เพื่อเชื่อมโยง IdP ใหม่หรือเชื่อมโยง IdP กับ ID ผู้เล่น
URL คำขอ¶
| URL การผลิต | https://auth.qpyou.cn/v2/game/customauth/get-key |
|---|---|
| URL แซนด์บ็อกซ์ | https://sandbox-auth.qpyou.cn/v2/game/customauth/get-key |
| วิธี HTTP | POST |
| Content-Type | application/json |
| รูปแบบข้อมูล | JSON |
| ## ส่วนหัวของคำขอ | |
| ชื่อฟิลด์ | คำอธิบาย |
| --- | --- |
| X-Access-Token | โทเค็นการเข้าถึง OAuth 2.0 สำหรับการตรวจสอบเซิร์ฟเวอร์เกม (ดู การออก OAuth token) |
| ISCRYPT | ข้อมูลถูกเข้ารหัสหรือไม่ (0 = ไม่ได้เข้ารหัส; ให้ผ่าน 0 เสมอ) |
| ## ขอเนื้อความ | |
| ชื่อฟิลด์ | คำอธิบาย |
| --- | --- |
| appid | รหัสแอป |
| idp_id | ค่าสตริงของ IdP |
| idp_user_id | ค่า ID ผู้ใช้ที่ระบุโดย IdP |
| auth_type | วัตถุประสงค์ของคีย์การรับรองความถูกต้องแบบกำหนดเอง SIGNINIDP: การเชื่อมโยง IdP ใหม่และการรับรองความถูกต้อง CONNECT: เชื่อมโยง IdP กับ ID ผู้เล่น |
| player_id | Player IDผู้ใช้ |
Note
ในช่องต่างๆ ค่า idp_id จะต้องเขียนในรูปแบบสตริงที่กำหนดอย่างใดอย่างหนึ่งซึ่งแสดงในตัวอย่างด้านล่าง
- CUSTOM_FIREBASE
- CUSTOM_FACEBOOK
- CUSTOM_GOOGLE
- CUSTOM_SIGNIN_APPLE
- CUSTOM_TWITTER
- CUSTOM_NAVER
- CUSTOM_GAME
เนื้อหาการตอบสนอง¶
| ชื่อฟิลด์ | คำอธิบาย | ประเภท |
|---|---|---|
| result_code | รหัสตอบกลับ รายละเอียด | Integer |
| result_msg | ข้อความตอบกลับ | String |
| token_validation | ผลการตรวจสอบ JWT (ข้อผิดพลาดการตรวจสอบ JWT) | Object |
| token_validation.result_code | รหัสผลลัพธ์การตรวจสอบ JWT | Integer |
| token_validation.result_msg | ข้อความผลการตรวจสอบ JWT | String |
| data | ข้อมูลการตอบกลับ | Object |
| data.custom_auth_key | คีย์การรับรองความถูกต้องแบบกำหนดเอง | String |
รหัสตอบกลับ¶
| ค่าโค้ด | คำอธิบาย |
|---|---|
| 0 | ความสำเร็จ |
| 1005 | ไม่รองรับ auth_type |
| 2499 | การตรวจสอบ JWT ล้มเหลว (ดู token_validation) |
| 4200 | IdP ที่ไม่รองรับ |
ขอตัวอย่าง¶
{
"appid": "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal",
"idp_id": "CUSTOM_TWITTER",
"idp_user_id": "1204273895139753984",
"auth_type": "SIGNINIDP",
"player_id": 10012038880
}
ตัวอย่างการตอบกลับ¶
ความสำเร็จ¶
{
"result_code": 0,
"result_msg": "SUCCESS",
"token_validation": {
"result_code": 0,
"result_msg": "success"
},
"data": {
"custom_auth_key": "f28ac8415716f438b9c972e3706c0dab"
}
}
การตรวจสอบ 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."
}
}
Note
เมื่อการตรวจสอบ JWT ล้มเหลว คุณสามารถตรวจสอบข้อมูลข้อผิดพลาดโดยละเอียดผ่านฟิลด์ token_validation สำหรับรายละเอียด โปรดดู รหัสข้อผิดพลาดการตรวจสอบ JWT