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

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

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

iat

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

exp

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

السماح

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

في حال تحديد taskids، يجب أن يكون نطاق التفويض مصفوفة في مربّع بالأشكال التالية:

"taskids": ["task_id_one","task_id_two"]

أو

"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.

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