رموز JSON المميّزة للويب

رمز JSON للويب (JWT) هو معيار ويب مفتوح يُستخدم للمصادقة تجيز عمليات تبادل المعلومات بين العميل والخادم. عند تثبيت تطبيق يقوم المستخدم بتسجيل الدخول أولاً باستخدام بيانات اعتماد الدور المناسبة، ينشئ الخادم ويعرض رمز JWT مشفّرًا وموقّعًا رقميًا لاستخدامه مع الطلبات اللاحقة. وتعمل هذه العملية على مصادقة المستخدم والسماح له بالوصول إلى المسارات، والخدمات والموارد حسب دورهم في حساباتهم.

يتطلب Fleet Engine استخدام رموز JSON المميّزة للويب (JWT) المُوقَّعة من خلال حساب خدمة مناسب لطلبات بيانات طريقة واجهة برمجة التطبيقات من مستوى الثقة المنخفضة البيئات. وتشمل البيئات منخفضة الثقة الهواتف الذكية والمتصفحات. JWT على الخادم الخاص بك، والتي تُعد بيئة موثوقة بالكامل. رمز JWT توقيعها وتشفيرها وتمريرها إلى العميل في الخادم اللاحق إلى أن تنتهي صلاحيتها أو لا تعود صالحة.

يجب أن تتم المصادقة والتفويض ضد Fleet Engine باستخدام الواجهة الخلفية. إلى آليات بيانات الاعتماد التلقائية للتطبيق القياسية. الماركة تأكَّد من استخدام ملفات JWT التي تم توقيعها من خلال حساب خدمة مناسب. بالنسبة إلى قائمة بأدوار حساب الخدمة، يُرجى الاطّلاع على أدوار حساب خدمةFleet Engine. في أساسيات Fleet Engine

على عكس مفاتيح واجهة برمجة التطبيقات، تكون مفاتيح JWT قصيرة الأجل وتقتصر العمليات على تلك التي المصرّح له بأدائه. لمزيد من المعلومات حول JWT، راجع JSON Web الرموز المميّزة على Wikipedia للحصول على تفاصيل عن أدوار الوصول، يُرجى الاطّلاع على الخدمة. أدوار الحساب في هذا الدليل.

عناصر JWT

تحتوي ملفات JWT على عنوان وقسم مطالبة. يحتوي قسم العنوان على مثل المفتاح الخاص الذي تم الحصول عليه من حسابات الخدمة وخوارزمية التشفير. يحتوي قسم المطالبة على معلومات مثل قانون JWT وتوفير الوقت، والوقت للعيش، والخدمات التي تطالب فيها JWT الوصول إلى معلومات التفويض الأخرى للوصول إلى النطاق حيث على سبيل المثال، معرّف مركبة التسليم.

يقدم الجدول التالي تفاصيل وصفية حول حقول JWT بشكل عام، إلى جانب معلومات محدّدة حول المكان الذي يمكنك فيه العثور على قيم هذه القيم الحقول في مشروع Fleet Engine Cloud.

حقول عناوين JWT

الحقل

الوصف

طحالب

الخوارزمية المطلوب استخدامها. `RS256`.

كتابة

تمثّل هذه السمة نوع الرمز المميّز. "JWT".

طفلة

رقم تعريف المفتاح الخاص لحساب الخدمة. يمكنك العثور على هذه القيمة في الحقل private_key_id في ملف JSON لحساب الخدمة. الماركة تأكَّد من استخدام مفتاح من حساب خدمة يتضمّن مستوى الأذونات الصحيح.

حقول مطالبات JWT

الحقل

الوصف

هوس

عنوان البريد الإلكتروني لحساب الخدمة، ويمكن العثور عليه في الحقل client_email في ملف JSON لحساب الخدمة.

sub

عنوان البريد الإلكتروني لحساب الخدمة، ويمكن العثور عليه في الحقل client_email في ملف JSON لحساب الخدمة.

Aud

حساب الخدمة SERVICE_NAME، وهو في هذه الحالة https://fleetengine.googleapis.com/

بروتوكول الإنترنت

الطابع الزمني لوقت إنشاء JWT، ويتم تحديده بالثواني انقضى منذ 00:00:00 UTC, January 1, 1970. اسمح لمدة 10 دقائق للحصول على انحراف. وإذا كان الطابع الزمني بعيدًا جدًا في الماضي أو في المستقبل، الخادم عن خطأ.

تجربة

الطابع الزمني لانتهاء صلاحية JWT، الذي يتم تحديده بالثواني منذ 00:00:00 UTC, January 1, 1970. ويفشل الطلب إذا الطابع الزمني يكون بعد أكثر من ساعة واحدة في المستقبل.

authorization

حسب حالة الاستخدام، قد يحتوي على deliveryvehicleid، trackingid أو taskid أو taskids

مطالبات Fleet Engine JWT

تستخدم Fleet Engine مطالبات خاصة. يضمن استخدام المطالبات الخاصة ويمكن للعملاء المصرح لهم الوصول إلى بياناتهم الخاصة.

على سبيل المثال، عندما يصدر الخادم رمز JSON المميّز للويب JSON لهاتف جوّال لبرنامج التشغيل يجب أن يتضمّن الجهاز المطالبة "vehicleid" أو مطالبة واحدة (deliveryvehicleid) بقيمة رقم تعريف المركبة الخاص بالسائق بعد ذلك، يُرجى اتّباع الخطوات التالية: استنادًا إلى دور السائق، تتيح مفاتيح JWT الوصول للمركبة المحدّدة فقط. مستند تعريف الهوية وليس أي رقم تعريف عشوائي آخر للمركبة

يستخدم Fleet Engine المطالبات الخاصة التالية:

رحلات عند الطلب

  • vehicleid:
    • تستخدم حزمة تطوير البرامج (SDK) لبرنامج التشغيل دائمًا هذه المطالبة، سواء كانت تعمل في رحلة. أو المركبة. تؤكد الواجهة الخلفية لـ Fleet Engine أن المركبة المرتبطة بالرحلة المطلوبة قبل إجراء التعديل.
    • بصفتك مقدّم خدمة، يمكنك استخدام هذه المطالبة مع علامة "*". لمطابقة الكل المركبات. تجدر الإشارة إلى أنّ JWT يمكنه تغطية كلّ من المركبة والرحلة العمليات، حتى إذا لم تكن مطلوبة، مما قد يؤدي إلى تبسيط توقيع JWT التنفيذ.
  • tripid:
    • دائمًا ما تستخدم حزمة تطوير البرامج (SDK) الخاصة بالمستهلك هذه المطالبة.
    • بصفتك مقدّم خدمة، يمكنك استخدام هذه المطالبة مع علامة "*" لمطابقة الكل رحلات. تجدر الإشارة إلى أنّ JWT يمكنه تغطية عمليات المركبات والرحلات حتى إذا لم يكن ذلك مطلوبًا، ما قد يؤدي إلى تبسيط عملية توقيع الرمز المميّز التنفيذ.

المهام المُجدوَلة

  • deliveryvehicleid

    الاستخدام عند طلب كل مركبة تسليم واجهات برمجة التطبيقات.

  • taskid

    الاستخدام عند طلب واجهات برمجة التطبيقات لكل مهمة

  • taskids

    الاستخدام عند الاتصال BatchCreateTasksAPI يجب أن يكون هذا الادعاء في شكل صفيف، ويجب أن تحتوي الصفيفة على جميع معرفات المهام اللازمة لإكمال طلبك. لا تضمِّن delivervehicleid، trackingid أو taskid مطالبة

  • trackingid

    الاستخدام عند استدعاء GetTaskTrackingInfoAPI يجب أن تتطابق المطالبة مع التتبّع. المعرّف في الطلب. لا تضمِّن delivervehicleid، taskid أو taskids مطالبة

الخطوات التالية