Con l'SDK consumer JavaScript, la tua app consumer può mostrare la posizione dei veicoli e di altre località di interesse monitorate in Fleet Engine su una mappa basata sul web. In questo modo, i tuoi utenti consumatori possono vedere l'avanzamento delle spedizioni. Questa guida presuppone che tu abbia configurato Fleet Engine con i relativi progetto Google Cloud e chiavi API. Per maggiori dettagli, consulta Fleet Engine.
Per configurare JavaScript Consumer SDK:
Attivare l'API Maps JavaScript
Attiva l'API JavaScript di Maps nel progetto della console Google Cloud che utilizzi per l'istanza di Fleet Engine. Per maggiori dettagli, consulta Attivare le API nella documentazione dell'API Maps JavaScript.
Configura l'autorizzazione
Per le chiamate ai metodi dell'API da ambienti con un livello di attendibilità basso, 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. Marca accertati 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.
L'app consumer deve autenticare gli utenti finali con Ruolodelivery_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 mancata disponibilità,
non vengono condivise informazioni sulla posizione con un utente finale. Consulta Ruoli
dell'account di servizio per le attività pianificate.
Al contrario, il backend deve autenticarsi e autorizzarsi in Fleet Engine utilizzando i meccanismi standard delle credenziali predefinite dell'applicazione.
Come funziona l'autorizzazione?
L'autorizzazione con i dati di Fleet Engine prevede l'implementazione sia lato server sia lato client.
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 JWT lato server, consulta Emettere token web JSON in Elementi essenziali di Fleet Engine.
In particolare, tieni presente quanto segue per l'SDK JavaScript consumer per monitoraggio delle spedizioni:- Linee guida generali per l'emissione di token web JSON
- Linee guida per i token JWT delle attività pianificate
- Token di esempio per un'app consumer
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 una caricamento di una nuova pagina o quando il fetcher non ha restituito un token.
Il token è scaduto.
Il token scade entro un minuto dalla scadenza.
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 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 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/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,
};
}