JSON Web Token (JWT) เป็นมาตรฐานเว็บแบบเปิดที่ใช้สำหรับการตรวจสอบสิทธิ์และ การให้สิทธิ์แลกเปลี่ยนข้อมูลระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ เมื่อแอป ให้ผู้ใช้ลงชื่อเข้าใช้ด้วยข้อมูลเข้าสู่ระบบของบทบาทที่เหมาะสมก่อน เซิร์ฟเวอร์จะสร้าง และแสดงผล JWT ที่เข้ารหัสและลงนามแบบดิจิทัลเพื่อใช้กับคำขอที่ตามมา กระบวนการนี้จะตรวจสอบสิทธิ์ผู้ใช้และให้สิทธิ์ผู้ใช้ในการเข้าถึงเส้นทาง บริการ และทรัพยากรตามบทบาทในบัญชี
Fleet Engine กำหนดให้ใช้ JSON Web Token (JWT) ที่ลงนามโดย บัญชีบริการที่เหมาะสมสำหรับการเรียกเมธอด API จาก low-Trust สภาพแวดล้อมการทำงาน สภาพแวดล้อมที่มีความน่าเชื่อถือต่ำรวมถึงสมาร์ทโฟนและเบราว์เซอร์ต่างๆ JWT จะทำงานในเซิร์ฟเวอร์ของคุณ ซึ่งเป็นสภาพแวดล้อมที่เชื่อถือได้อย่างสมบูรณ์ JWT ลงชื่อ เข้ารหัส และส่งต่อไปยังไคลเอ็นต์สำหรับเซิร์ฟเวอร์ที่ตามมา การโต้ตอบต่างๆ จนกว่าหมดอายุหรือใช้ไม่ได้
แบ็กเอนด์ของคุณควรตรวจสอบสิทธิ์และให้สิทธิ์กับ Fleet Engine โดยใช้ กลไก Application Default Credentials แบบมาตรฐาน สร้าง อย่าลืมใช้ JWT ที่ลงชื่อโดยบัญชีบริการที่เหมาะสม สำหรับ รายการของบทบาทบัญชีบริการ โปรดดูบทบาทบัญชีบริการ Fleet Engine ในข้อมูลพื้นฐานเกี่ยวกับ Fleet Engine
JWT มีระยะเวลาการใช้งานสั้นและจำกัดการดำเนินการเฉพาะคีย์ API เท่านั้น ที่ได้รับมอบอำนาจให้ดำเนินการ ดูข้อมูลเพิ่มเติมเกี่ยวกับ JWT ได้ที่ JSON Web Tokens ใน Wikipedia โปรดดูรายละเอียดเกี่ยวกับบทบาทการเข้าถึงที่หัวข้อบริการ บทบาทของบัญชีในคู่มือนี้
องค์ประกอบ JWT
JWT มีส่วนหัวและส่วนการอ้างสิทธิ์ ส่วนหัวประกอบด้วย เช่น คีย์ส่วนตัวที่ได้รับจากบัญชีบริการ และ อัลกอริทึมการเข้ารหัส ส่วนการอ้างสิทธิ์มีข้อมูล เช่น ของ JWT สร้างเวลา เวลาว่าง บริการที่ JWT อ้าง การเข้าถึง และข้อมูลการให้สิทธิ์อื่นๆ เพื่อกำหนดขอบเขตการเข้าถึง สำหรับ เช่น รหัสยานพาหนะที่นำส่ง
ตารางต่อไปนี้ให้รายละเอียดโดยทั่วไปเกี่ยวกับฟิลด์ JWT รวมทั้งข้อมูลเฉพาะเกี่ยวกับตำแหน่งที่คุณสามารถหาค่าต่างๆ ในโปรเจ็กต์ Fleet Engine Cloud ของคุณ
ฟิลด์ |
คำอธิบาย |
---|---|
Alg |
อัลกอริทึมที่จะใช้ "RS256" |
typ |
ประเภทของโทเค็น "JWT" |
บุตรหลาน |
รหัสคีย์ส่วนตัวของบัญชีบริการ คุณสามารถค้นหาค่านี้ใน
ช่อง |
ฟิลด์ |
คำอธิบาย |
---|---|
คือ |
อีเมลของบัญชีบริการ ซึ่งดูได้ใน
ช่อง |
สำรอง |
อีเมลของบัญชีบริการ ซึ่งดูได้ใน
ช่อง |
Aud |
|
Iiat |
การประทับเวลาเมื่อสร้าง JWT ที่ระบุเป็นวินาที
ผ่านไปแล้วตั้งแต่ 00:00:00 |
หมดอายุ |
การประทับเวลาเมื่อ JWT หมดอายุ โดยระบุเป็นวินาทีที่ผ่านไป
ตั้งแต่วันที่ |
การให้สิทธิ์ |
อาจมี หากระบุรหัสงาน ขอบเขตการให้สิทธิ์ต้องเป็นอาร์เรย์ใน ในรูปแบบต่อไปนี้ "taskids": ["task_id_one","task_id_two"]
หรือ "taskids": ["*"] |
คำกล่าวอ้างของ Fleet Engine JWT
Fleet Engine ใช้การอ้างสิทธิ์ส่วนตัว การใช้การอ้างสิทธิ์ส่วนตัวจะทำให้มั่นใจว่า ลูกค้าที่ได้รับอนุญาตสามารถเข้าถึงข้อมูลของตนเอง
เช่น เมื่อเซิร์ฟเวอร์ออกโทเค็นเว็บ JSON สำหรับอุปกรณ์เคลื่อนที่ของไดรเวอร์
อุปกรณ์ก็ควรมีการอ้างสิทธิ์ vehicleid
หรือ
ใบเคลม deliveryvehicleid
พร้อมค่ารหัสยานพาหนะของผู้ขับรายนั้น จากนั้นให้ทำดังนี้
JWT อนุญาตให้เข้าได้เฉพาะรถบางรุ่นเท่านั้นโดยขึ้นอยู่กับบทบาทคนขับ
บัตรประจำตัว ไม่ใช่รหัสยานพาหนะอื่นๆ ที่กำหนดเอง
Fleet Engine ใช้การกล่าวอ้างส่วนตัวดังต่อไปนี้
การเดินทางแบบออนดีมานด์
-
vehicleid
:- Driver SDK จะใช้คำกล่าวอ้างนี้เสมอ ไม่ว่าจะทำงานขณะเดินทาง หรือยานพาหนะ ระบบแบ็คเอนด์ของ Fleet Engine ทำให้มั่นใจได้ว่าพาหนะ ที่เชื่อมโยงกับการเดินทางที่ขอก่อนที่จะทำการแก้ไข
- ในฐานะผู้ให้บริการ คุณใช้การอ้างสิทธิ์นี้กับเครื่องหมาย "*" เพื่อจับคู่ทั้งหมด รถยนต์ โปรดทราบว่า JWT ครอบคลุมทั้งยานพาหนะและการเดินทาง การดำเนินงานต่างๆ แม้ว่าจะไม่จำเป็นก็ตาม ซึ่งอาจทำให้การลงนาม JWT ทำได้ง่ายขึ้น การใช้งานของคุณ
-
tripid
:- Consumer SDK จะใช้คำกล่าวอ้างนี้เสมอ
- ในฐานะผู้ให้บริการ คุณใช้การอ้างสิทธิ์นี้กับ "*" เพื่อจับคู่ทั้งหมด การเดินทาง โปรดทราบว่า JWT ครอบคลุมการขับขี่ยานพาหนะและการเดินทาง แม้ว่าจะไม่จำเป็นก็ตาม ซึ่งอาจทำให้ การลงนามโทเค็นทำได้ง่ายขึ้น การใช้งานของคุณ
งานที่กำหนดเวลาไว้
-
deliveryvehicleid
ใช้เมื่อโทรต่อยานพาหนะ 1 คัน API
-
taskid
ใช้เมื่อเรียกใช้ API ต่องาน
-
taskids
ใช้เมื่อโทร
BatchCreateTasksAPI
การอ้างสิทธิ์นี้ต้องอยู่ในรูปแบบอาร์เรย์ และอาร์เรย์ควรมีรหัสงานทั้งหมดที่จำเป็นต่อการดำเนินการ อีกครั้ง อย่าระบุdelivervehicleid
การอ้างสิทธิ์trackingid
หรือtaskid
รายการ -
trackingid
ใช้เมื่อเรียก
GetTaskTrackingInfoAPI
การอ้างสิทธิ์ต้องตรงกับการติดตาม รหัสในคำขอ อย่าระบุdelivervehicleid
การอ้างสิทธิ์taskid
หรือtaskids
รายการ
ขั้นตอนถัดไป
- อ่านเกี่ยวกับการออกแบบความปลอดภัยของ Fleet Engine เพื่อทำความเข้าใจเกี่ยวกับ ขั้นตอนการตรวจสอบสิทธิ์
- ดูวิธีออกโทเค็นเว็บ JSON จากเซิร์ฟเวอร์ของคุณ