Configura la libreria di monitoraggio del parco risorse JavaScript
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Prima di utilizzare la libreria di monitoraggio della flotta JavaScript, assicurati di
conoscere e aver configurato Fleet Engine. Per maggiori dettagli, vedi
Fleet Engine.
Questo documento mostra come attivare l'autorizzazione tra l'app della pagina web e Fleet Engine. Una volta configurate le richieste a Fleet Engine con i token di autorizzazione corretti, potrai monitorare un veicolo su una mappa.
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
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 nell'applicazione di monitoraggio della flotta, il server di backend deve essere in grado di emettere token web JSON per l'applicazione di monitoraggio della flotta per l'accesso a Fleet Engine. L'applicazione di monitoraggio della flotta
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.
Per generare token dal server durante l'implementazione del monitoraggio della flotta, consulta
quanto segue:
Autorizzazione lato client
Quando utilizzi la libreria JavaScript per il monitoraggio della flotta, richiede un token al 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, la libreria di monitoraggio della flotta JavaScript utilizza il token valido emesso in precedenza e non
chiama il recuperatore.
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/fleet_reader
Esempio: crea un recuperatore di token di autorizzazione
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,
};
}
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-17 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-17 UTC."],[[["\u003cp\u003eBefore using the JavaScript Fleet tracking library, ensure you have Fleet Engine set up and are familiar with it.\u003c/p\u003e\n"],["\u003cp\u003eFleet Engine requires JSON Web Tokens (JWTs) for API calls from low-trust environments like web browsers.\u003c/p\u003e\n"],["\u003cp\u003eYour backend server should be configured to issue JWTs to your Fleet tracking application for authentication and authorization with Fleet Engine.\u003c/p\u003e\n"],["\u003cp\u003eThe JavaScript Fleet tracking library utilizes an authorization token fetcher to request and manage JWTs, ensuring secure communication with Fleet Engine.\u003c/p\u003e\n"],["\u003cp\u003eAfter setting up authorization, you can proceed with tracking vehicles and viewing your fleet in real-time.\u003c/p\u003e\n"]]],["Fleet Engine authorization requires JSON Web Tokens (JWTs) for API calls from low-trust environments. Your backend server issues signed, encrypted JWTs to the client. Use Application Default Credentials and service accounts to authenticate. The JavaScript Fleet tracking library uses an authorization token fetcher to get a token from your server. The fetcher must return a token and its expiration time. The library requests a new token if no valid token exists, if it has expired, or if it is near expiring.\n"],null,["Before using the JavaScript fleet tracking library, make sure you are\nfamiliar with and have set up Fleet Engine. For details, see\n[Fleet Engine](/maps/documentation/mobility/fleet-engine).\n\nThis document shows how to enable authorization between the\nweb page app and Fleet Engine. Once your requests to Fleet Engine have\nbeen set up with the correct authorization tokens, you'll be ready to\ntrack a vehicle on a map.\n\nSet up authorization\n\nFleet Engine requires the use of **JSON Web Tokens** (JWTs) for API method calls\nfrom **low-trust environments**: smartphones and browsers.\n\nA JWT originates on your server, is signed, encrypted, and passed to the client\nfor subsequent server interactions until it expires or is no longer valid.\n\n**Key details**\n\n- Use [Application Default Credentials](https://google.aip.dev/auth/4110) to authenticate and authorize against Fleet Engine.\n- Use an appropriate service account to sign JWTs. See [Fleet Engine serviceaccount](/maps/documentation/mobility/fleet-engine/essentials/set-up-fleet/service-accounts#fleet_engine_service_account_roles) roles in **Fleet Engine Basics**.\n\nHow does authorization work?\n\nAuthorization with Fleet Engine data involves both server-side and client-side\nimplementation.\n\nServer-side authorization\n\nBefore you set up authentication and authorization in your Fleet tracking\napplication, your backend server must be able to issue JSON Web Tokens to your\nFleet tracking application for access to Fleet Engine. Your Fleet tracking application\nsends these JWTs with its requests so Fleet Engine recognizes the requests as\nauthenticated and authorized to access the data in the\nrequest. For instructions on server-side JWT implementation, see [Issue JSON Web\nTokens](/maps/documentation/mobility/fleet-engine/essentials/set-up-fleet/issue-jwt) under **Fleet Engine Essentials**.\nTo generate tokens from your server when implementing Fleet tracking, see the following:\n\n\u003cbr /\u003e\n\n- [General guidelines](/maps/documentation/mobility/fleet-engine/essentials/set-up-fleet/issue-jwt#general_guidelines) for issuing JSON Web Tokens, including sections for both on-demand trips and scheduled tasks\n- On-demand trips: [Example token for a backend server operation](/maps/documentation/mobility/fleet-engine/essentials/set-up-fleet/issue-jwt#example_token_for_a_backend_server_operation)\n- Scheduled tasks: [Example token to track all tasks and vehicles in the\n fleet](/maps/documentation/mobility/fleet-engine/essentials/set-up-fleet/issue-jwt#example_token_to_track_all_tasks_and_vehicles)\n\nClient-side authorization\n\nWhen you use the JavaScript Fleet tracking library, it requests a token from the server using an\nauthorization token fetcher. It does this when any of the following is true:\n\n- No valid token exists, such as when the SDK hasn't called the fetcher on a\n fresh page load, or when the fetcher hasn't returned with a token.\n\n- The token has expired.\n\n- The token is within one minute of expiring.\n\nOtherwise, the JavaScript Fleet tracking library uses the previously-issued, valid token and does not\ncall the fetcher.\n\nCreate an authorization token fetcher\n\nCreate your authorization token fetcher using these guidelines:\n\n- **The fetcher must return a data structure with two fields** , wrapped in a\n `Promise` as follows:\n\n - A string `token`.\n\n - A number `expiresInSeconds`. A token expires in this amount of time\n after fetching. The authentication token fetcher must pass the expiry\n time in seconds, from the time of fetching to the library as shown in\n the example.\n\n- **The fetcher should call a URL on your server** to retrieve a token. This\n URL--the `SERVER_TOKEN_URL`--depends on your backend implementation. The\n following example URL is for the [sample app backend on GitHub](https://github.com/googlemaps/last-mile-fleet-solution-samples/tree/main/backend):\n\n - `https://SERVER_URL/token/fleet_reader`\n\nExample - Create an authorization token fetcher\n\nThe following examples show how to create an authorization token fetcher: \n\nJavaScript \n\n async function authTokenFetcher(options) {\n // options is a record containing two keys called\n // serviceType and context. The developer should\n // generate the correct SERVER_TOKEN_URL and request\n // based on the values of these fields.\n const response = await fetch(SERVER_TOKEN_URL);\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n const data = await response.json();\n return {\n token: data.Token,\n expiresInSeconds: data.ExpiresInSeconds\n };\n }\n\nTypeScript \n\n function authTokenFetcher(options: {\n serviceType: google.maps.journeySharing.FleetEngineServiceType,\n context: google.maps.journeySharing.AuthTokenContext,\n }): Promise\u003cgoogle.maps.journeySharing.AuthToken\u003e {\n // The developer should generate the correct\n // SERVER_TOKEN_URL based on options.\n const response = await fetch(SERVER_TOKEN_URL);\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n const data = await response.json();\n return {\n token: data.token,\n expiresInSeconds: data.ExpiresInSeconds,\n };\n }\n\nWhat's next\n\n- [Track a vehicle](/maps/documentation/mobility/operations/fleet-tracking/follow)\n- [View a fleet](/maps/documentation/mobility/operations/fleet-tracking/view-fleet)"]]