JavaScript Consumer SDK einrichten

Plattform auswählen: Android iOS JavaScript

Mit dem JavaScript Consumer SDK können Sie in Ihrer Nutzer-App den Standort von Fahrzeugen und andere Standorte von Interesse, die in Fleet Engine erfasst werden, auf einer webbasierten Karte anzeigen. So können Ihre Kunden den Fortschritt des Fahrers sehen. In diesem Leitfaden wird davon ausgegangen, dass Sie Fleet Engine mit den zugehörigen Google Cloud-Projekten und API-Schlüsseln eingerichtet haben. Weitere Informationen finden Sie unter Fleet Engine.

So richten Sie das JavaScript Consumer SDK ein:

  1. Maps JavaScript API aktivieren
  2. Autorisierung einrichten

Maps JavaScript API aktivieren

Aktivieren Sie die Maps JavaScript API in der Google Cloud Console. Weitere Informationen finden Sie in der Google Cloud-Dokumentation unter APIs aktivieren. Dadurch wird das Consumer SDK für JavaScript aktiviert.

Autorisierung einrichten

Für API-Methodenaufrufe aus Umgebungen mit geringem Vertrauen benötigt Fleet Engine die Verwendung von JSON-Webtokens (JWTs), die von einem entsprechenden Dienstkonto signiert sind. Beispiele für Umgebungen mit geringem Vertrauen sind Smartphones und Browser. Ein JWT stammt von deinem Server, einer vollkommen vertrauenswürdigen Umgebung. Das JWT wird signiert, verschlüsselt und für nachfolgende Serverinteraktionen an den Client übergeben, bis es abläuft oder nicht mehr gültig ist.

Ihr Backend sollte sich mithilfe der standardmäßigen Standardanmeldedaten für Anwendungen bei der Fleet Engine authentifizieren und autorisieren. Verwenden Sie JWTs, die von einem entsprechenden Dienstkonto signiert wurden. Eine Liste der Dienstkontorollen finden Sie unter Fleet Engine-Dienstkontorollen in Fleet Engine-Grundlagen.

Im Gegensatz dazu sollte sich Ihr Back-End mithilfe der Standardmechanismen für Standardanmeldedaten für Anwendungen bei Fleet Engine authentifizieren und autorisieren.

Wie funktioniert die Autorisierung?

Die Autorisierung mit Fleet Engine-Daten umfasst sowohl eine server- als auch clientseitige Implementierung.

Serverseitige Autorisierung

Bevor Sie die Authentifizierung und Autorisierung in Ihrer webbasierten Anwendung einrichten, muss Ihr Back-End-Server in der Lage sein, für den Zugriff auf Fleet Engine JSON Web Tokens an Ihre webbasierte Anwendung zu senden. Ihre webbasierte Anwendung sendet diese JWTs mit ihren Anfragen, damit Fleet Engine die Anfragen als authentifiziert und für den Zugriff auf die Daten in der Anfrage autorisiert erkennt. Eine Anleitung zur serverseitigen JWT-Implementierung finden Sie unter Fleet Engine Essentials im Abschnitt JSON Web Tokens ausstellen.

Für das JavaScript Consumer SDK ist Folgendes zu beachten, um den Fahrtfortschritt zu teilen:

Clientseitige Autorisierung

Wenn Sie das JavaScript Consumer SDK verwenden, wird über einen Autorisierungstoken-Abruf ein Token vom Server angefordert. Das ist der Fall, wenn eine der folgenden Bedingungen erfüllt ist:

  • Es gibt kein gültiges Token. Das kann z. B. passieren, wenn das SDK den Abrufer nicht bei einem neuen Seitenaufbau aufgerufen hat oder wenn der Abrufer kein Token zurückgegeben hat.

  • Das Token ist abgelaufen.

  • Das Token läuft in weniger als einer Minute ab.

Andernfalls verwendet das JavaScript Consumer SDK das zuvor ausgestellte, gültige Token und ruft den Fetcher nicht auf.

Abruf von Autorisierungstokens erstellen

Erstellen Sie den Abruf von Autorisierungstokens unter Berücksichtigung der folgenden Richtlinien:

  • Der Abruf muss eine Datenstruktur mit zwei Feldern zurückgeben, die wie unten dargestellt in einer Promise verpackt ist:

    • Einen String token.

    • Eine Zahl expiresInSeconds. Ein Token läuft nach diesem Zeitraum nach dem Abrufen ab. Der Abrufmechanismus für das Authentifizierungstoken muss die Ablaufzeit in Sekunden vom Abruf bis zur Bibliothek übergeben, wie im Beispiel gezeigt.

  • Der Abrufer sollte eine URL auf Ihrem Server aufrufen, um ein Token abzurufen. Diese URL (SERVER_TOKEN_URL) hängt von Ihrer Backend-Implementierung ab. Die folgende Beispiel-URL bezieht sich auf das Back-End der Beispiel-App auf GitHub:

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

Beispiel – Abruf eines Authentifizierungstokens erstellen

Die folgenden Beispiele zeigen, wie Sie einen Abrufmechanismus für Autorisierungstokens erstellen:

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

Nächste Schritte

Reisen in JavaScript folgen