Configura l'SDK consumer JavaScript

Seleziona la piattaforma: Android iOS 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 consumatori possono vedere l'avanzamento del viaggio del conducente. Questa guida presuppone che tu abbia configurato Fleet Engine con il progetto e le chiavi API Google Cloud associati. Per maggiori dettagli, consulta Fleet Engine.

Per configurare l'SDK Consumer JavaScript:

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

Attivare l'API Maps JavaScript

Attiva l'API Maps JavaScript nella console Google Cloud. Per maggiori dettagli, consulta la sezione Attivare le API nella documentazione di Google Cloud. Ciò consente SDK consumer per JavaScript.

Configura l'autorizzazione

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

Il backend deve autenticarsi e autorizzarsi in Fleet Engine utilizzando meccanismi di credenziali predefinite dell'applicazione standard. Assicurati di utilizzare JWT firmati da un account di servizio appropriato. Per un elenco dei ruoli degli account di servizio, consulta i ruoli degli account di servizio Fleet Engine in Nozioni di base su Fleet Engine.

Al contrario, il backend deve autenticarsi e autorizzare Fleet Engine Utilizzando le Credenziali predefinite dell'applicazione standard i meccanismi dell'impatto del diamante.

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'autenticazione e l'autorizzazione nella tua applicazione web, il server di backend deve essere in grado di emettere token web JSON per l'accesso a Fleet Engine. L'applicazione web invia questi JWT con le sue richieste in modo che Fleet Engine le riconosca come autenticate e autorizzate ad accedere ai dati al loro interno. Per istruzioni sull'implementazione di JWT lato server, vedi Problema JSON sul Web Token in Fleet Engine Essentials.

In particolare, tieni presente quanto segue per l'SDK consumer JavaScript per condividere lo stato di avanzamento del viaggio:

Autorizzazione lato client

Quando utilizzi l'SDK Consumer JavaScript, questo richiede un token dal server utilizzando un recupero del token di autorizzazione. Ciò avviene quando una delle seguenti condizioni è vera:

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

  • Il token è scaduto.

  • Il token sta per scadere entro un minuto.

Altrimenti, JavaScript Consumer SDK utilizza il token valido emesso in precedenza e non chiama il fetcher.

Crea un recuperatore di token di autorizzazione

Crea il tuo recuperatore del token di autorizzazione seguendo queste linee guida:

  • Il locatore deve restituire una struttura di dati con due campi, racchiusa in un Promise come segue:

    • Una stringa token.

    • Un numero expiresInSeconds. Un token scade dopo questo periodo di tempo dopo il recupero. Il recuperatore del token di autenticazione deve passare il tempo di scadenza in secondi, dal momento del recupero alla raccolta, come mostrato nell'esempio.

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

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

Esempio: crea un recuperatore 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

Seguire un percorso in JavaScript