Con l'SDK consumer JavaScript, la tua app consumer può mostrare la posizione di veicoli e altre località di interesse monitorate in Fleet Engine su una mappa basata sul web. In questo modo, i tuoi utenti consumatori possono visualizzare lo stato di avanzamento delle spedizioni. Questa guida presuppone che tu abbia configurato Fleet Engine con il progetto Google Cloud e le chiavi API associati. Per maggiori dettagli, vedi Fleet Engine.
Configura l'SDK JavaScript Consumer seguendo questi passaggi:
Attivare l'API Maps JavaScript
Attiva l'API Maps JavaScript nel progetto Google Cloud che utilizzi per l'istanza Fleet Engine. Per maggiori dettagli, vedi Attivare le API nella documentazione dell'API Maps JavaScript.
Configura l'autorizzazione
Fleet Engine richiede l'utilizzo di token web JSON (JWT) per le chiamate ai metodi API da ambienti a bassa attendibilità: smartphone e browser.
Un JWT ha origine sul tuo server, viene firmato, criptato e trasmesso al client per le successive interazioni con il server fino alla scadenza o alla perdita di validità.
Dettagli chiave
- Utilizza le credenziali predefinite dell'applicazione per l'autenticazione e l'autorizzazione in Fleet Engine.
- Utilizza un service account appropriato per firmare i JWT. Consulta i ruoli dell'account di servizio Fleet Engine in Nozioni di base su Fleet Engine.
delivery_consumer
del tuo progetto Google Cloud per restituire solo
informazioni specifiche per i consumatori. In questo modo, Fleet Engine filtra e oscura tutte
le altre informazioni nelle risposte. Ad esempio, durante un'attività di indisponibilità,
non vengono condivise informazioni sulla posizione con un utente finale. Per le attività pianificate, consulta Ruoli
dell'account di servizio.
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 la tua applicazione web per l'accesso a Fleet Engine. La tua applicazione web invia questi JWT con le sue richieste, in modo che Fleet Engine riconosca le richieste come autenticate e autorizzate ad accedere ai dati nella richiesta. 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 il monitoraggio delle spedizioni:- Linee guida generali per l'emissione di token web JSON
- Linee guida per i JWT delle attività pianificate
- Token di esempio per un'app consumer
Autorizzazione lato client
Quando utilizzi l'SDK consumer JavaScript, richiede un token dal server utilizzando un recupero token di autorizzazione. Lo fa quando si verifica una delle seguenti condizioni:
Non esiste alcun token valido, ad esempio quando l'SDK non ha chiamato il recupero durante il caricamento di una pagina nuova o quando il recupero non ha restituito un token.
Il token è scaduto.
Il token scadrà entro un minuto.
In caso contrario, l'SDK JavaScript Consumer utilizza il token valido emesso in precedenza e non chiama il fetcher.
Crea un recuperatore di token di autorizzazione
Crea il tuo recuperatore di token di autorizzazione utilizzando queste linee guida:
Il recuperatore deve restituire una struttura di dati con due campi, racchiusi in un
Promise
come segue:Una stringa
token
.Un numero
expiresInSeconds
. Un token scade dopo questo periodo di tempo dopo il recupero. Il recupero del token di autenticazione deve superare il tempo di scadenza in secondi, dal momento del recupero alla libreria, 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/delivery_consumer/TRACKING_ID
Esempio: crea un recuperatore di token di autenticazione
I seguenti esempi mostrano come creare un recuperatore 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,
};
}