Con el SDK para consumidores de JavaScript, tu app para consumidores puede mostrar la ubicación de vehículos y otras ubicaciones de interés rastreadas en Fleet Engine a través de un sistema mapa. Esto permite que tus consumidores vean el progreso del viaje del conductor. En esta guía, se da por sentado que configuraste Fleet Engine con su cuenta de Google Cloud asociada las claves de proyecto y de API. Consulta Fleet Engine para obtener más detalles.
Para configurar el SDK de consumidor de JavaScript, sigue estos pasos:
Habilita la API de Maps JavaScript
Habilita la API de Maps JavaScript en la consola de Google Cloud. Para obtener más detalles, consulta Habilita las APIs en la documentación de Google Cloud. Esto permite SDK para consumidores de JavaScript.
Configura la autorización
Para las llamadas a métodos de API desde entornos de baja confianza, Fleet Engine requiere que el uso de tokens web JSON (JWT) firmados por una cuenta de servicio adecuada Los entornos de baja confianza incluyen smartphones y navegadores. Un JWT Se origina en tu servidor, que es un entorno completamente confiable. El token JWT se firma, se encripta y se pasa al cliente para la posterior interacciones hasta que caduque o deje de ser válida.
Tu backend debe autenticarse y autorizarse contra Fleet Engine usando mecanismos estándar de credenciales predeterminadas de la aplicación. Asegúrate de usar JWTs firmados por una cuenta de servicio adecuada. Para un lista de los roles de la cuenta de servicio; consulta los roles de la cuenta de servicio de Flet Engine en Aspectos básicos de Flet Engine.
Por el contrario, tu backend debe autenticarse y autorizarse en Fleet Engine con mecanismos estándar de credenciales predeterminadas de la aplicación.
¿Cómo funciona la autorización?
La autorización con datos de Fleet Engine involucra al servidor y al cliente para implementarlos.
Autorización del servidor
Antes de configurar la autenticación y la autorización en tu aplicación basada en la Web, el servidor de backend debe poder emitir tokens web JSON a tu aplicación basada en la Web para acceder a Fleet Engine. Tu aplicación web envía estos JWT con sus solicitudes para que Fleet Engine las reconozca como autenticadas y autorizadas para acceder a los datos de la solicitud. Para obtener instrucciones sobre la implementación de JWT del servidor, consulta Error en la Web de JSON Tokens en Fleet Engine Essentials
Específicamente, ten en cuenta lo siguiente para el SDK de consumidor de JavaScript para compartir el progreso del viaje:- Lineamientos generales para emitir tokens web JSON
- Lineamientos de JWT para viajes a pedido
- Ejemplo de token para una operación de consumidor
Autorización del cliente
Cuando usas el SDK de consumidor de JavaScript, este solicita un token al servidor con un recuperador de tokens de autorización. Esto sucede cuando se cumple una de las siguientes condiciones:
No existe un token válido, como cuando el SDK no llama al recuperador en una una carga nueva de la página o cuando el recuperador no ha regresado con un token.
El token venció.
El token está en el plazo de un minuto a partir de su vencimiento.
De lo contrario, el SDK para consumidores de JavaScript usa el token válido emitido previamente y no llama al recuperador.
Crea un recuperador de tokens de autorización
Crea tu recuperador de tokens de autorización con estos lineamientos:
El recuperador debe mostrar una estructura de datos con dos campos, dentro de un
Promise
de la siguiente manera:Una cadena
token
Un número
expiresInSeconds
. Un token vence en esta cantidad de tiempo después de la recuperación. El recuperador de tokens de autenticación debe pasar la fecha de tiempo en segundos, desde el momento de la recuperación hasta la biblioteca, como se muestra en el ejemplo.
El recuperador debe llamar a una URL de tu servidor para recuperar un token. Esta La URL
SERVER_TOKEN_URL
depende de la implementación de tu backend. La siguiente URL de ejemplo es para el backend de la app de ejemplo en GitHub:https://SERVER_URL/token/consumer/TRIPID
Ejemplo: Crea un recuperador de tokens de autenticación
En los siguientes ejemplos, se muestra cómo crear un recuperador de tokens de autorización:
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,
};
}