הגדרה של ספריית JavaScript למעקב אחרי כלל המכשירים בארגון

לפני שמשתמשים בספריית JavaScript למעקב אחר צי רכב, צריך לוודא שמכירים את Fleet Engine והגדרתם אותו. לפרטים נוספים, אפשר לעיין במאמר בנושא Fleet Engine.

במאמר הזה מוסבר איך להפעיל הרשאה בין אפליקציית דף האינטרנט לבין Fleet Engine. אחרי שתגדירו את הבקשות ל-Fleet Engine עם אסימוני ההרשאה הנכונים, תוכלו לעקוב אחרי רכב במפה.

הגדרת הרשאה

ב-Fleet Engine נדרש שימוש באסימוני JWT ‏ (JSON Web Tokens) לקריאות ל-method של API מסביבות עם רמת אבטחה נמוכה: סמארטפונים ודפדפנים.

אסימון JWT נוצר בשרת שלכם, נחתם, מוצפן ומועבר ללקוח לאינטראקציות הבאות עם השרת עד שהוא פג או עד שהוא כבר לא תקף.

פרטים חשובים

איך עובד תהליך ההרשאה?

ההרשאה לנתוני Fleet Engine כוללת הטמעה בצד השרת ובצד הלקוח.

הרשאה בצד השרת

לפני שמגדירים אימות והרשאה באפליקציה למעקב אחר צי הרכבים, שרת הקצה העורפי צריך להיות מסוגל להנפיק טוקנים של אינטרנט בפורמט JSON לאפליקציה למעקב אחר צי הרכבים, כדי לאפשר גישה ל-Fleet Engine. אפליקציית המעקב אחרי צי הרכב שולחת את אסימוני ה-JWT האלה עם הבקשות שלה, כדי ש-Fleet Engine יזהה את הבקשות כמאומתות וכבעלות הרשאה לגשת לנתונים בבקשה. הוראות להטמעת JWT בצד השרת מופיעות במאמר הנפקת אסימוני אינטרנט מסוג JSON בקטע היסודות של Fleet Engine.

כדי ליצור אסימונים מהשרת כשמטמיעים מעקב אחרי צי רכב, אפשר לעיין במאמרים הבאים:

הרשאה מצד הלקוח

כשמשתמשים בספריית JavaScript למעקב אחר צי רכב, היא שולחת בקשה לשרת לקבלת אסימון באמצעות כלי לאחזור אסימוני הרשאה. הוא עושה זאת אם אחד מהתנאים הבאים מתקיים:

  • לא קיים טוקן תקין, למשל כשה-SDK לא קרא ל-fetcher בטעינת דף חדשה, או כשה-fetcher לא החזיר טוקן.

  • פג תוקפו של הטוקן.

  • התוקף של הטוקן עומד לפוג תוך דקה.

אחרת, ספריית JavaScript למעקב אחר צי הרכבים משתמשת באסימון הקודם שתוקף שלו לא פג, ולא קוראת לפונקציית האחזור.

יצירת כלי לאחזור טוקן הרשאה

כדי ליצור את הפונקציה לאחזור אסימון ההרשאה, פועלים לפי ההנחיות הבאות:

  • הכלי לאחזור נתונים צריך להחזיר מבנה נתונים עם שני שדות, שעטופים ב-Promise באופן הבא:

    • מחרוזת token.

    • מספר expiresInSeconds. הזמן שחולף עד שתוקף הטוקן פג אחרי שליפתו. הפונקציה להשגת טוקן אימות צריכה להעביר את זמן התפוגה בשניות, מהזמן של השגת הטוקן לספרייה, כמו שמוצג בדוגמה.

  • הכלי לאחזור נתונים צריך להפעיל כתובת URL בשרת כדי לאחזר אסימון. כתובת ה-URL הזו – SERVER_TOKEN_URL – תלויה בהטמעה של ה-Backend. כתובת ה-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,
  };
}

המאמרים הבאים