راه‌اندازی کتابخانه ردیابی ناوگان جاوا اسکریپت

قبل‌از استفاده از کتابخانه ردیابی ناوگان JavaScript، مطمئن شوید که با Fleet Engine آشنایی دارید و آن را راه‌اندازی کرده‌اید. برای جزئیات، به Fleet Engine مراجعه کنید.

این سند نحوه فعال کردن مجوز بین برنامه صفحه وب و Fleet Engine را نشان می‌دهد. پس‌از اینکه درخواست‌هایتان برای Fleet Engine با نشان‌های مجوز صحیح راه‌اندازی شد، آماده خواهید بود وسیله نقلیه را روی نقشه ردیابی کنید.

راه‌اندازی مجوز

‫Fleet Engine برای فراخوانی روش‌های API از توکن‌های وب JSON (JWT) از محیط‌های با اعتماد پایین: تلفن‌های هوشمند و مرورگرها استفاده می‌کند.

JWT از سرور شما منشأ می‌گیرد، امضا و رمزگذاری می‌شود، و برای تعاملات بعدی سرور به کارخواه منتقل می‌شود تا زمانی که منقضی شود یا دیگر معتبر نباشد.

جزئیات کلیدی

مجوز چگونه کار می‌کند؟

صدور مجوز با داده‌های Fleet Engine شامل پیاده‌سازی سمت سرور و سمت کارخواه می‌شود.

مجوزدهی سمت سرور

قبل‌از راه‌اندازی اصالت‌سنجی و صدور مجوز در برنامه «ردیابی ناوگان»، سرور پشتیبان شما باید بتواند «کدهای وب JSON» را برای برنامه «ردیابی ناوگان» شما صادر کند تا به Fleet Engine دسترسی داشته باشد. برنامه ردیابی ناوگان شما این JWTها را همراه با درخواست‌هایش ارسال می‌کند تا Fleet Engine درخواست‌ها را به‌عنوان اصیل‌سازی‌شده و مجاز برای دسترسی به داده‌های درخواست تشخیص دهد. برای دریافت دستورالعمل‌های مربوط به پیاده‌سازی JWT در سمت سرور، به صدور «نشان‌های وب JSON» در ملزومات موتور ناوگان مراجعه کنید.

برای تولید کردن نشان از سرورتان هنگام پیاده‌سازی «ردیابی ناوگان»، به موارد زیر مراجعه کنید:

مجوزدهی سمت کارخواه

وقتی از کتابخانه «ردیابی ناوگان» جاوا اسکریپت استفاده می‌کنید، این کتابخانه بااستفاده از واکشی‌کننده کد مجوز از سرور کد درخواست می‌کند. این کار را زمانی انجام می‌دهد که هریک از موارد زیر درست باشد:

  • هیچ کد معتبری وجود ندارد، مثلاً وقتی کیت توسعه نرم‌افزار واکشی‌کننده را در بارگیری صفحه جدید فراخوانی نکرده است، یا وقتی واکشی‌کننده با کد برنگشته است.

  • کد منقضی شده است.

  • توکن تا یک دقیقه دیگر منقضی می‌شود.

درغیراین‌صورت، کتابخانه «ردیابی ناوگان» جاوا اسکریپت از کد معتبر صادرشده قبلی استفاده می‌کند و فراخواننده را فراخوانی نمی‌کند.

ایجاد واکشی‌کننده کد مجوز

بااستفاده از این دستورالعمل‌ها، واکشی‌کننده کد مجوز خود را ایجاد کنید:

  • واکِشنده باید ساختار داده‌ای با دو فیلد برگرداند، که در یک Promise به‌صورت زیر پیچیده شده است:

    • رشته token.

    • عدد expiresInSeconds. ژتون پس‌از این مدت زمان بعداز واکشی منقضی می‌شود. واکشی‌کننده کد اصالت‌سنجی باید زمان انقضا را برحسب ثانیه از زمان واکشی به کتابخانه منتقل کند، همان‌طور که در مثال نشان داده شده است.

  • واکِشنده باید نشانی وبی را در سرور شما فراخوانی کند تا یک کد بازیابی کند. این نشانی وب--SERVER_TOKEN_URL--به پیاده‌سازی زیرینه شما بستگی دارد. نشانی وب مثال زیر برای کارساز برنامه نمونه در GitHub است:

    • https://SERVER_URL/token/fleet_reader

مثال - ایجاد واکشی‌کننده کد مجوز

مثال‌های زیر نحوه ایجاد واکشی‌کننده کد اصالت‌سنجی را نشان می‌دهد:

JavaScript

async function authTokenFetcher(options) {
  // options is a record containing two keys called
  // serviceType and context. The developer should
  // generate the correct SERVER_TOKEN_URL and request
  // based on the values of these fields.
  const response = await fetch(SERVER_TOKEN_URL);
  if (!response.ok) {
    throw new Error(response.statusText);
  }
  const data = await response.json();
  return {
    token: data.Token,
    expiresInSeconds: data.ExpiresInSeconds
  };
}

TypeScript

function authTokenFetcher(options: {
  serviceType: google.maps.journeySharing.FleetEngineServiceType,
  context: google.maps.journeySharing.AuthTokenContext,
}): Promise<google.maps.journeySharing.AuthToken> {
  // The developer should generate the correct
  // SERVER_TOKEN_URL based on options.
  const response = await fetch(SERVER_TOKEN_URL);
  if (!response.ok) {
    throw new Error(response.statusText);
  }
  const data = await response.json();
  return {
    token: data.token,
    expiresInSeconds: data.ExpiresInSeconds,
  };
}

قدم بعدی چیست