Configura l'SDK consumer JavaScript

Con l'SDK JavaScript Consumer, la tua app consumer può mostrare la posizione veicoli e altre località di interesse monitorati in Fleet Engine su una mappa. In questo modo i tuoi utenti consumer possono vedere l'avanzamento delle loro spedizioni. Questa guida presuppone che tu abbia configurato Fleet Engine con i relativi progetto Google Cloud e chiavi API. Per maggiori dettagli, vedi Floet Engine.

Per configurare JavaScript Consumer SDK:

  1. Attiva l'API Maps JavaScript.
  2. Configurare le autorizzazioni.

Attiva l'API Maps JavaScript

Attiva l'API Maps JavaScript nel progetto della console Google Cloud che utilizzi per la tua istanza Fleet Engine. Per maggiori dettagli, consulta Abilitare le API nel documentazione dell'API Maps JavaScript.

configura le autorizzazioni

Fleet Engine richiede l'utilizzo di token web JSON (JWT) firmati da un account di servizio appropriato per le chiamate ai metodi API da bassa attendibilità ambienti cloud-native. Gli ambienti a basso livello di attendibilità includono smartphone e browser. Un JWT viene generato sul tuo server, che è un ambiente completamente attendibile. JWT viene firmato, criptato e passato al client per il successivo server interazioni fino a quando non scade o non è più valido.

Il backend deve autenticarsi e autorizzare Fleet Engine utilizzando meccanismi standard di Credenziali predefinite dell'applicazione. Marca accertati di utilizzare JWT firmati da un account di servizio appropriato. Per un elenco dei ruoli dell'account di servizio. Vedi i ruoli dell'account di servizio di Fleet Engine in Nozioni di base su Fleet Engine.

L'app consumer deve autenticare gli utenti finali con Ruolo delivery_consumer del progetto Google Cloud da restituire solo informazioni specifiche del consumatore. In questo modo, Fleet Engine filtra e oscura tutti altre informazioni nelle risposte. Ad esempio, durante un'attività di indisponibilità, le informazioni sulla posizione non vengono condivise con un utente finale. Vedi Account di servizio ruoli per le attività pianificate.

Come funziona l'autorizzazione?

L'autorizzazione con i dati di Fleet Engine riguarda sia lato server che lato client implementazione.

Autorizzazione lato server

Prima di configurare l'autorizzazione nella tua applicazione basata sul web, deve essere in grado di gestire token web JSON. In questo modo, Fleet Engine riconosce le richieste provenienti dalla tua applicazione come autorizzate ad accedere i dati nella richiesta. Per istruzioni sull'implementazione di JWT lato server, consulta Invia token web JSON in Fleet Engine Essentials.

In particolare, tieni presente quanto segue per l'SDK JavaScript Consumer per tracciare le spedizioni:

Autorizzazione lato client

Quando utilizzi JavaScript Consumer SDK, quest'ultimo richiede un token al server utilizzando un il fetcher del token di autorizzazione. Ciò avviene nei seguenti casi:

  • Non esistono token validi, ad esempio se l'SDK non ha chiamato il fetcher su un nuovo caricamento di pagina o quando il fetcher non ha restituito un token.

  • Il token è scaduto.

  • Il token scade entro un minuto dalla scadenza.

In caso contrario, JavaScript Consumer SDK utilizza il token valido emesso in precedenza e non chiamare il fetcher.

Crea un fetcher di token di autorizzazione

Crea il fetcher del token di autorizzazione seguendo queste linee guida:

  • Il fetcher deve restituire una struttura di dati con due campi, aggregati in una Promise come segue:

    • Una stringa token.

    • Un numero expiresInSeconds. Un token scade in questo periodo di tempo dopo il recupero. Il fetcher del token di autenticazione deve superare la scadenza tempo in secondi, dal momento del recupero nella libreria, come mostrato in dell'esempio.

  • Il fetcher deve chiamare un URL sul tuo server per recuperare un token. Questo L'URL SERVER_TOKEN_URL dipende dall'implementazione del backend. La Il seguente URL di esempio riguarda il backend dell'app di esempio su GitHub:

    • https://SERVER_URL/token/delivery_consumer/TRACKING_ID

Esempio: creare un fetcher di token di autenticazione

I seguenti esempi mostrano come creare un fetcher di token di autorizzazione:

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

Passaggi successivi