การสร้างโทเค็นการตรวจสอบสิทธิ์ JWT เพื่อใช้กับ API เปิด
API เปิดของ ZEPETO ถูกเรียกผ่าน HTTP.
หากมีเนื้อหาในคำขอ พารามิเตอร์จะต้องถูกส่งในรูปแบบ JSON. ตัวอย่างประเภทเนื้อหาที่ถูกต้องแสดงด้านล่าง และอาจมีความแตกต่างเล็กน้อยขึ้นอยู่กับไลบรารีภาษาการเขียนโปรแกรมที่เกี่ยวข้อง.
ก่อนที่จะสร้างโทเค็นการตรวจสอบสิทธิ JWT คุณต้องรับคีย์เข้าถึงและคีย์ลับจากคอนโซล ZEPETO Studio.
📘 กรุณาอ้างอิงจากคู่มือต่อไปนี้. การจัดการ Open API
API เปิดของ ZEPETO สร้างโทเค็น JWT(https://jwt.io) ตามรูปแบบที่อิงจากคีย์เข้าถึงและคีย์ลับที่ออกให้สำหรับแต่ละคำขอและส่งในส่วนหัว Authorization.
HS256 เป็นวิธีการลงนามที่แนะนำ และความลับที่จะใช้ในการลงนามคือคีย์ลับที่ออกให้.
ข้อมูลใน JWT token มีรูปแบบดังต่อไปนี้:
- uri_hash คือค่าที่ถูกแฮชของ uri รวมถึงพารามิเตอร์การค้นหา ยกเว้นเส้นทางหลัก.
- body_hash คือค่าที่ถูกแปลงเป็นสตริง json และถูกแฮชเพื่อแทรกลงใน payload เฉพาะเมื่อมีเนื้อหาการร้องขอ; จะถูกละเว้นหากไม่มีเนื้อหาการร้องขอ.
- ในกรณีเช่นนี้ จะต้องไม่มีช่องว่างระหว่างคีย์และค่าของสตริง json.
- uri_hash และ body_hash ต้องถูกแฮชให้มีค่าเหมือนกับพารามิเตอร์การค้นหาและเนื้อหาการร้องขอที่ส่งไปยังการร้องขอ (ลำดับของค่าต้องเหมือนกันด้วย).
- จำกัดจำนวนการเรียก API: สูงสุด 300 ครั้งใน 1 นาที.
กรุณาใส่คีย์การเข้าถึง, คีย์ลับ, worldld, uri, และพารามิเตอร์การค้นหาตาม API ที่คุณต้องการใช้
โค้ดตัวอย่างด้านล่างนี้เขียนขึ้นตาม API ข้อมูลผู้เล่นของหมวดหมู่ DataStorage
กรุณาใส่ access key, secret key, worldId, uri, และ body param ตาม API ที่คุณต้องการใช้
โค้ดตัวอย่างด้านล่างนี้เขียนขึ้นจาก Set Player Data API ของหมวด DataStorage
❗️ คำเตือน
- OpenAPI เป็นฟีเจอร์ที่ให้ใช้ในเว็บหรือแอปแยกต่างหาก
- ขณะนี้ สคริปต์เซิร์ฟเวอร์ ZEPETO ไม่สามารถเรียกใช้ ZEPETO Open API ได้
- หากคุณต้องการทำการเรียก Open API ใน ZEPETO multiplayer เราขอแนะนำวิธีการดังต่อไปนี้:
- ตั้งค่าเซิร์ฟเวอร์แยกต่างหากเพื่อดำเนินการตรรกะทางธุรกิจที่จำเป็นโดยการสื่อสารกับ Open API
- ใช้แพ็คเกจ httpService ในเซิร์ฟเวอร์ ZEPETO เพื่อสื่อสารโดยตรงกับเซิร์ฟเวอร์ที่คุณตั้งค่าไว้
- ดำเนินการวิธีการตรวจสอบสิทธิ์ที่ค่อนข้างง่ายระหว่างเซิร์ฟเวอร์ เช่น การใช้ HTTP Authorize headers เพื่อเปิดใช้งานการเรียกภายในฟีเจอร์ที่รองรับโดยเซิร์ฟเวอร์ ZEPETO