Configura el SDK del consumidor de JavaScript

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 los usuarios consumidores vean el progreso de sus envíos. En esta guía, se da por sentado que configuraste Fleet Engine con sus Proyecto de Google Cloud y claves de API. Consulta Fleet Engine para obtener más información.

Sigue estos pasos para configurar el SDK para consumidores de JavaScript:

  1. Habilita la API de Maps JavaScript.
  2. Configura la autorización.

Habilita la API de Maps JavaScript

Habilita la API de Maps JavaScript en el proyecto de la consola de Google Cloud que usas para tu instancia de Fleet Engine. Para obtener más información, consulta Habilita las APIs en la Documentación de la API de Maps JavaScript.

Configura la autorización

Fleet Engine requiere el uso de tokens web JSON (JWT) firmados por un cuenta de servicio adecuada para las llamadas de método a la API desde modelos de entornos de desarrollo de software. 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. Marca asegúrate de usar JWT firmados con la cuenta de servicio correspondiente. 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.

Tu app para consumidores debe autenticar a tus usuarios finales con el El rol delivery_consumer de tu proyecto de Google Cloud para mostrar solo resultados específica para el consumidor. De esta manera, Fleet Engine filtra y oculta todos otra información en las respuestas. Por ejemplo, durante una tarea de falta de disponibilidad, no se comparte información de ubicación con un usuario final. Consulta Cuenta de servicio roles para las tareas programadas.

¿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 que configures la autorización en tu aplicación basada en la Web, tu backend debe poder entregar tokens web JSON. De esta manera, Fleet Engine reconoce las solicitudes que provienen de tu aplicación como autorizadas para acceder los datos de la solicitud. Para obtener instrucciones sobre la implementación de JWT del servidor, consulta Emite tokens web JSON en Fleet Engine Essentials.

Específicamente, ten en cuenta lo siguiente para el SDK para consumidores de JavaScript. para el seguimiento de envíos:

Autorización del cliente

Cuando usas el SDK de consumo de JavaScript, este solicita un token al servidor mediante un recuperador de tokens de autorización. Hace esto cuando se cumple alguna de las siguientes condiciones:

  • No existe un token válido, como cuando el SDK no llama al recuperador en una nueva carga de 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 no llames al recuperador.

Crea un recuperador de tokens de autorización

Sigue estos lineamientos para crear tu recuperador de tokens de autorización:

  • 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 este período 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. El La siguiente URL de ejemplo es para el backend de la app de ejemplo en GitHub:

    • https://SERVER_URL/token/delivery_consumer/TRACKING_ID

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,
  };
}

¿Qué sigue?