Mit dem JavaScript Consumer SDK kann Ihre Nutzer-App den Standort Fahrzeuge und andere Orte von Interesse, die in Fleet Engine auf einem webbasierten So können Ihre Kunden den Fortschritt des Fahrers sehen. In diesem Leitfaden wird davon ausgegangen, dass Sie Fleet Engine mit der zugehörigen Google Cloud eingerichtet haben Projekt- und API-Schlüssel. Weitere Informationen finden Sie unter Fleet Engine.
So richten Sie das JavaScript Consumer SDK ein:
Maps JavaScript API aktivieren
Aktivieren Sie die Maps JavaScript API in der Google Cloud Console. Weitere Informationen Weitere Informationen finden Sie in der Google Cloud-Dokumentation unter APIs aktivieren. Dadurch können die Consumer SDK für JavaScript
Autorisierung einrichten
Für API-Methodenaufrufe aus Low-Trust-Umgebungen benötigt Fleet Engine Verwendung von JSON-Webtokens (JWTs), die von einem entsprechenden Dienstkonto signiert wurden. Zu den Umgebungen mit wenig Vertrauen gehören Smartphones und Browser. Ein JWT stammt von Ihrem Server, einer voll vertrauenswürdigen Umgebung. Das JWT wird signiert, verschlüsselt und an den Client für den nachfolgenden Server übergeben. Interaktionen, bis sie abläuft oder nicht mehr gültig ist.
Ihr Backend sollte sich mit der folgenden Methode bei Fleet Engine authentifizieren und autorisieren Standardmechanismen für Standardanmeldedaten für Anwendungen. Marke Verwenden Sie JWTs, die von einem entsprechenden Dienstkonto signiert wurden. Für eine Eine Liste der Dienstkontorollen finden Sie unter Fleet Engine-Dienstkontorollen. in Fleet Engine-Grundlagen.
Im Gegensatz dazu sollte sich Ihr Backend bei Fleet Engine authentifizieren und autorisieren mit standardmäßigen Standardanmeldedaten für Anwendungen Mechanismen.
Wie funktioniert die Autorisierung?
Die Autorisierung mit Fleet Engine-Daten umfasst sowohl die serverseitige als auch die clientseitige Implementierung.
Serverseitige Autorisierung
Bevor Sie die Authentifizierung und Autorisierung in Ihrem webbasierten muss Ihr Back-End-Server in der Lage sein, JSON Web Tokens an Ihre webbasierte Anwendung für den Zugriff auf Fleet Engine Ihre webbasierte Anwendung sendet diese JWTs mit ihren Anfragen, damit die Fleet Engine die Anfragen als authentifiziert und autorisiert für den Zugriff auf die Daten in der Anfrage erkennt. Eine Anleitung zur serverseitigen JWT-Implementierung finden Sie unter Fleet Engine Essentials im Abschnitt JSON Web Tokens ausstellen.
Beachten Sie insbesondere Folgendes für das JavaScript Consumer SDK für Reise teilen:- Allgemeine Richtlinien für die Ausstellung von JSON Web Tokens
- JWT-Richtlinien für On-Demand-Reisen
- Beispieltoken für einen Nutzervorgang
Clientseitige Autorisierung
Wenn Sie das JavaScript Consumer SDK verwenden, fordert es mithilfe eines Abruf von Autorisierungstokens. 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 innerhalb einer Minute ab.
Andernfalls verwendet das JavaScript Consumer SDK das zuvor ausgestellte, gültige Token und verwendet ruft den Fetcher 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 in dieser Zeit ab nach dem Abrufen. Beim Abrufen von Authentifizierungstokens muss das Ablaufdatum überschritten werden. Zeit in Sekunden, vom Zeitpunkt des Abrufs bis zur Bibliothek, wie in für das Beispiel.
Der Fetcher sollte eine URL auf Ihrem Server aufrufen, um ein Token abzurufen. Dieses Die URL (
SERVER_TOKEN_URL
) hängt von Ihrer Back-End-Implementierung ab. Die 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 ein Autorisierungstoken-Abruf erstellt wird:
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,
};
}