قبلاز استفاده از کتابخانه ردیابی ناوگان JavaScript، مطمئن شوید که با Fleet Engine آشنایی دارید و آن را راهاندازی کردهاید. برای جزئیات، به Fleet Engine مراجعه کنید.
این سند نحوه فعال کردن مجوز بین برنامه صفحه وب و Fleet Engine را نشان میدهد. پساز اینکه درخواستهایتان برای Fleet Engine با نشانهای مجوز صحیح راهاندازی شد، آماده خواهید بود وسیله نقلیه را روی نقشه ردیابی کنید.
راهاندازی مجوز
Fleet Engine برای فراخوانی روشهای API از توکنهای وب JSON (JWT) از محیطهای با اعتماد پایین: تلفنهای هوشمند و مرورگرها استفاده میکند.
JWT از سرور شما منشأ میگیرد، امضا و رمزگذاری میشود، و برای تعاملات بعدی سرور به کارخواه منتقل میشود تا زمانی که منقضی شود یا دیگر معتبر نباشد.
جزئیات کلیدی
- از اعتبارنامههای پیشفرض برنامه برای اصالتسنجی و صدور مجوز در Fleet Engine استفاده کنید.
- از حساب سرویس مناسبی برای امضا کردن JWT استفاده کنید. نقشهای حساب سرویس Fleet Engine را در اصول اولیه Fleet Engine ببینید.
مجوز چگونه کار میکند؟
صدور مجوز با دادههای Fleet Engine شامل پیادهسازی سمت سرور و سمت کارخواه میشود.
مجوزدهی سمت سرور
قبلاز راهاندازی اصالتسنجی و صدور مجوز در برنامه «ردیابی ناوگان»، سرور پشتیبان شما باید بتواند «کدهای وب JSON» را برای برنامه «ردیابی ناوگان» شما صادر کند تا به Fleet Engine دسترسی داشته باشد. برنامه ردیابی ناوگان شما این JWTها را همراه با درخواستهایش ارسال میکند تا Fleet Engine درخواستها را بهعنوان اصیلسازیشده و مجاز برای دسترسی به دادههای درخواست تشخیص دهد. برای دریافت دستورالعملهای مربوط به پیادهسازی JWT در سمت سرور، به صدور «نشانهای وب JSON» در ملزومات موتور ناوگان مراجعه کنید.
برای تولید کردن نشان از سرورتان هنگام پیادهسازی «ردیابی ناوگان»، به موارد زیر مراجعه کنید:- دستورالعملهای کلی برای صدور «نشانهای وب 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,
};
}