באמצעות Consumer SDK ל-JavaScript, האפליקציה למשתמשים יכולה להציג במפה מבוססת-אינטרנט את המיקום של כלי הרכב ומיקומים אחרים שהתעניינו בהם, שנמצאים במעקב ב-Fleet Engine. כך הצרכנים יכולים לראות את התקדמות הנסיעה של הנהג. המדריך הזה מבוסס על ההנחה שהגדרתם את Fleet Engine עם הפרויקט המשויך ב-Google Cloud ומפתחות ה-API. פרטים נוספים זמינים במאמר בנושא Fleet Engine.
כדי להגדיר את Consumer SDK ל-JavaScript, פועלים לפי השלבים הבאים:
הפעלת Maps JavaScript API
מפעילים את Maps JavaScript API במסוף Google Cloud. לפרטים נוספים, קראו את המאמר הפעלת ממשקי API במסמכי התיעוד של Google Cloud. הפעולה הזו מפעילה את Consumer SDK ל-JavaScript.
הגדרת הרשאה
כדי להפעיל שיטות API מסביבות עם רמת אמינות נמוכה (סמארטפונים ודפדפנים), צריך להשתמש ב-Fleet Engine בטוקנים של JSON Web (JWT).
מקור ה-JWT הוא בשרת שלכם, הוא חתום, מוצפן ומועבר ללקוח לאינטראקציות הבאות עם השרת עד שהוא פג תוקף או לא תקף יותר.
פרטים חשובים
- משתמשים ב-Application Default Credentials כדי לבצע אימות והרשאה מול Fleet Engine.
- להשתמש בחשבון שירות מתאים כדי לחתום על אסימוני JWT. תפקידים בחשבון השירות ב-Fleet Engine במאמר מידע בסיסי על Fleet Engine.
איך ההרשאה פועלת?
כדי להגדיר הרשאה לנתונים של Fleet Engine, צריך להטמיע אותה גם בצד השרת וגם בצד הלקוח.
הרשאה בצד השרת
לפני שמגדירים אימות והרשאה באפליקציה מבוססת-האינטרנט, שרת הבק-אנד צריך להיות מסוגל להנפיק אסימוני אינטרנט מסוג JSON לאפליקציה מבוססת-האינטרנט כדי לגשת ל-Fleet Engine. האפליקציה מבוססת-האינטרנט שולחת את אסימוני ה-JWT האלה עם הבקשות שלה, כדי ש-Fleet Engine יזהה את הבקשות כמאומתות וכמורשות לגשת לנתונים שבבקשה. הוראות להטמעת JWT בצד השרת מפורטות בקטע הנפקת אסימוני אינטרנט מסוג JSON במאמר היסודות של Fleet Engine.
חשוב לזכור את הדברים הבאים לגבי Consumer SDK ל-JavaScript לשיתוף ההתקדמות בנסיעה:- הנחיות כלליות להנפקת אסימוני אינטרנט מסוג JSON
- הנחיות בנושא JWT לנסיעות על פי דרישה
- אסימון לדוגמה לפעולה של צרכן
הרשאה בצד הלקוח
כשמשתמשים ב-JavaScript Consumer SDK, הוא מבקש אסימון מהשרת באמצעות מאחזר אסימוני הרשאה. הוא עושה את זה אם מתקיים אחד מהתנאים הבאים:
אין טוקן תקין, למשל כשה-SDK לא קרא למאחזר בטעינת דף חדש, או כשהמאחזר לא החזיר טוקן.
פג התוקף של הטוקן.
האסימון יפוג בעוד פחות מדקה.
אחרת, ה-SDK לצרכן ב-JavaScript משתמש באסימון התקף שהונפק קודם, ולא קורא לפונקציית האחזור.
יצירת מאחזר של אסימון הרשאה
כדי ליצור את מאחזר אסימון ההרשאה, צריך לפעול לפי ההנחיות הבאות:
הפונקציה לאחזור צריכה להחזיר מבנה נתונים עם שני שדות, עטופים ב-
Promiseבאופן הבא:מחרוזת
token.מספר
expiresInSeconds. הטוקן יפוג אחרי פרק הזמן הזה מרגע האחזור. הפונקציה לאחזור אסימון האימות צריכה להעביר לספרייה את מועד התפוגה בשניות, מרגע האחזור, כמו שמוצג בדוגמה.
המאחזר צריך לשלוח קריאה לכתובת URL בשרת שלכם כדי לאחזר טוקן. כתובת ה-URL הזו (
SERVER_TOKEN_URL) תלויה בהטמעה של הקצה העורפי. כתובת ה-URL הבאה לדוגמה היא של ה-backend של האפליקציה לדוגמה ב-GitHub:https://SERVER_URL/token/consumer/TRIPID
דוגמה – יצירת מאחזר של אסימון אימות
בדוגמאות הבאות מוסבר איך ליצור מאחזר של אסימון הרשאה:
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,
};
}