Konfigurowanie pakietu JavaScript Consumer SDK

Wybierz platformę: Android iOS JavaScript

Za pomocą pakietu JavaScript Consumer SDK aplikacja może pokazywać lokalizację pojazdów i innych interesujących lokalizacji śledzonych przez Fleet Engine mapy. Dzięki temu klienci mogą śledzić swoje postępy kierowcy. W tym przewodniku przyjęto założenie, że masz skonfigurowaną usługę Fleet Engine z powiązaną z nią usługą Google Cloud projekt i klucze interfejsu API. Więcej informacji znajdziesz w Fleet Engine.

Aby skonfigurować JavaScript Consumer SDK, wykonaj te czynności:

  1. Włączanie Maps JavaScript API
  2. Autoryzacja konfiguracji

Włączanie Maps JavaScript API

Włącz Maps JavaScript API w konsoli Google Cloud. Aby dowiedzieć się więcej, zapoznaj się z sekcją poświęconą włączaniu interfejsów API w dokumentacji Google Cloud. Dzięki temu funkcja Pakiet SDK dla konsumentów na potrzeby JavaScriptu.

Autoryzacja konfiguracji

W przypadku wywołań metod interfejsu API ze środowisk o niskim poziomie zaufania Fleet Engine wymaga: użycie tokenów sieciowych JSON (JWT) podpisanych przez odpowiednie konto usługi. Środowiska o niskim stopniu zaufania to m.in. smartfony i przeglądarki. Token JWT zaczyna się na serwerze, który jest w pełni zaufanym środowiskiem. JWT jest podpisywany, szyfrowany i przekazywany do klienta na potrzeby kolejnych interakcji z serwerem, dopóki nie wygaśnie lub nie straci ważności.

Twój backend powinien uwierzytelniać i autoryzować się w Fleet Engine za pomocą standardowych mechanizmów domyślnych danych logowania aplikacji. Marka używaj tokenów JWT, które zostały podpisane przez odpowiednie konto usługi. Dla lista ról konta usługi, zobacz role konta usługi Fleet Engine w artykule Podstawy floty.

W przeciwieństwie do tego Twój backend powinien się uwierzytelniać i autoryzować za pomocą Fleet Engine. przy użyciu standardowych domyślnych danych logowania aplikacji. i zbierania danych.

Jak działa autoryzacja?

Autoryzacja za pomocą danych Fleet Engine obejmuje zarówno po stronie serwera, jak i klienta implementacji.

Autoryzacja po stronie serwera

Przed skonfigurowaniem uwierzytelniania i autoryzacji w aplikacji internetowej aplikacji, serwer backendu musi mieć możliwość wystawiania tokenów sieciowych JSON w aplikacja internetowa zapewniająca dostęp do Fleet Engine. Twoja aplikacja internetowa wysyła te tokeny JWT ze swoimi żądaniami, aby usługa Fleet Engine rozpoznawała żądania jako uwierzytelnionych i autoryzowanych do uzyskiwania dostępu do danych w użytkownika. Instrukcje dotyczące implementacji JWT po stronie serwera znajdziesz w artykule Problemy z siecią JSON Tokeny w artykule o usłudze Fleet Engine Essentials.

W szczególności pamiętaj o poniższych kwestiach dotyczących pakietu JavaScript Consumer SDK dla udostępnianie podróży:

Autoryzacja po stronie klienta

Gdy używasz pakietu JavaScript Consumer SDK, wysyła on żądanie tokena do serwera za pomocą modułu pobierania tokenów autoryzacji. Dzieje się tak, gdy jest spełniony dowolny z tych warunków:

  • Brak prawidłowego tokena, na przykład jeśli pakiet SDK nie wywołał modułu pobierania na wczytanie nowej strony lub gdy moduł pobierania nie zwrócił się z tokenem.

  • Token wygasł.

  • Token wygaśnie w ciągu minuty.

W przeciwnym razie pakiet JavaScript Consumer SDK używa wcześniej wydanego prawidłowego tokena i nie wywołuje funkcji pobierania.

Tworzenie modułu pobierania tokenów autoryzacji

Utwórz moduł pobierania tokenów autoryzacji, korzystając z tych wskazówek:

  • Moduł pobierania musi zwrócić strukturę danych z 2 polami opakowaną w Promise w następujący sposób:

    • Ciąg token.

    • Liczba expiresInSeconds. Token wygaśnie w tym czasie po pobraniu. Moduł pobierania tokenów uwierzytelniania musi utracić ważność czas w sekundach, od momentu pobrania do biblioteki, jak widać w z przykładu.

  • Moduł pobierania powinien wywołać adres URL na Twoim serwerze, aby pobrać token. Ten Adres URL (SERVER_TOKEN_URL) zależy od implementacji backendu. ten przykładowy URL dotyczy backendu przykładowej aplikacji na GitHubie:

    • https://SERVER_URL/token/consumer/TRIPID

Przykład: tworzenie modułu pobierania tokenów uwierzytelniania

W przykładach poniżej pokazujemy, jak utworzyć moduł pobierania tokenów autoryzacji:

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,
  };
}

Co dalej?

Śledzenie podróży w języku JavaScript