Configurer le SDK JavaScript Consumer

Sélectionnez une plate-forme : Android iOS JavaScript

Avec le SDK client JavaScript, votre application grand public peut indiquer la position des véhicules et d'autres lieux d'intérêt suivis via un réseau sur la carte. Vos clients peuvent ainsi suivre la progression du trajet du conducteur. Dans ce guide, nous partons du principe que vous avez configuré Fleet Engine avec la solution Google Cloud clés de projet et d'API. Pour en savoir plus, consultez Fleet Engine.

Pour configurer le SDK client JavaScript, procédez comme suit:

  1. Activer l'API Maps JavaScript
  2. Configurer les autorisations

Activer l'API Maps JavaScript

Activez l'API Maps JavaScript dans la console Google Cloud. Pour en savoir plus, consultez la page Activer les API dans la documentation Google Cloud. Cela permet au SDK grand public pour JavaScript.

Configurer les autorisations

Pour les appels de méthode d'API à partir d'environnements à faible confiance, Fleet Engine nécessite l'utilisation de jetons Web JSON (JWT) signés par un compte de service approprié. Les environnements à faible confiance incluent les smartphones et les navigateurs. Un jeton JWT proviennent de votre serveur, qui est un environnement entièrement approuvé. Le jeton JWT est signé, chiffré et transmis au client pour le serveur suivant jusqu'à ce qu'il expire ou qu'il ne soit plus valide.

Votre backend doit s'authentifier et autoriser l'accès à Fleet Engine à l'aide de Identifiants par défaut de l'application. Marque veillez à utiliser des jetons JWT signés par un compte de service approprié. Pour une liste des rôles de compte de service, consultez la page Rôles de compte de service Fleet Engine du cours sur les principes de base des moteurs de flotte.

À l'inverse, votre backend doit s'authentifier et autoriser l'accès à Fleet Engine à l'aide des identifiants par défaut de l'application standards. des mécanismes de sécurité.

Comment fonctionne l'autorisation ?

L'autorisation avec les données de Fleet Engine implique une implémentation côté serveur et côté client.

Autorisation côté serveur

Avant de configurer l'authentification et l'autorisation dans votre application, votre serveur backend doit pouvoir émettre des jetons Web JSON vers votre Web pour accéder à Fleet Engine. Votre application Web envoie ces jetons JWT avec ses requêtes afin que Fleet Engine reconnaisse les requêtes comme authentifiés et autorisés à accéder aux données requête. Pour obtenir des instructions sur l'implémentation de jetons JWT côté serveur, consultez la section Problème JSON Web Jetons sous Fleet Engine Essentials.

En particulier, gardez à l'esprit ce qui suit pour le SDK client JavaScript pour partage du parcours:

Autorisation côté client

Lorsque vous utilisez le SDK client JavaScript, il demande un jeton au serveur à l'aide d'un et l'outil de récupération de jetons d'autorisation. Elle le fait lorsque l'une des conditions suivantes est remplie:

  • Il n'existe aucun jeton valide, par exemple lorsque le SDK n'a pas appelé le récupérateur sur un chargement d'une nouvelle page, ou lorsque l'outil d'extraction ne renvoie pas de jeton.

  • Le jeton a expiré.

  • Le jeton expire dans la minute qui suit son expiration.

Sinon, le SDK client JavaScript utilise le jeton valide précédemment émis et n'utilise pas sans appeler l'outil de récupération.

Créer un outil de récupération de jetons d'autorisation

Créez votre outil de récupération de jetons d'autorisation en suivant ces consignes:

  • L'extracteur doit renvoyer une structure de données avec deux champs, encapsulés dans un Promise comme suit:

    • Une chaîne token.

    • Un nombre expiresInSeconds. Un jeton expire dans ce laps de temps après la récupération. L'outil de récupération de jetons d'authentification doit transmettre le délai d'expiration en secondes, à partir du moment où la bibliothèque est récupérée, comme indiqué dans l'exemple.

  • Le programme de récupération doit appeler une URL sur votre serveur pour récupérer un jeton. Ce L'URL (SERVER_TOKEN_URL) dépend de la mise en œuvre de votre backend. La L'exemple d'URL suivant concerne l'exemple de backend d'application sur GitHub:

    • https://SERVER_URL/token/consumer/TRIPID

Exemple : Créer un outil de récupération de jetons d'authentification

Les exemples suivants montrent comment créer un outil de récupération de jetons d'autorisation:

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

Étape suivante

Suivre un trajet en JavaScript