JavaScript Consumer SDK を使用すると、アプリで使用するユーザーの Fleet Engine で追跡された車両やその他の関心のある場所(ウェブベースで 表示されます。これにより、消費者はドライバーの移動の進捗状況を確認できます。 このガイドでは、関連する Google Cloud とともに Fleet Engine がセットアップされていることを前提としています。 API キーが含まれます。詳細については、Fleet Engine をご覧ください。
JavaScript Consumer SDK は次の手順で設定します。
- Maps JavaScript API を有効化
- 認可を設定する
Maps JavaScript API を有効にする
Google Cloud コンソールで Maps JavaScript API を有効にします。詳しくは Google Cloud ドキュメントの API の有効化をご覧ください。これにより JavaScript 用の Consumer SDK
認可を設定する
信頼性の低い環境からの API メソッド呼び出しの場合、Fleet Engine には 適切なサービス アカウントで署名された JSON Web Token(JWT)の使用。 信頼性の低い環境には、スマートフォンやブラウザが含まれます。JWT 完全に信頼できる環境であるサーバー上で行われます。JWT 署名、暗号化され、後続のサーバーのためにクライアントに渡されます。 インタラクションは、期限切れになるか無効になります。
バックエンドでは、次のコマンドを使用して Fleet Engine に対する認証と認可を行う必要があります。 標準のアプリケーションのデフォルト認証情報メカニズムを使用します。製造元 適切なサービス アカウントで署名された JWT を使用してください。サービス アカウントのロールの一覧については、Fleet Engine の基本の Fleet Engine サービス アカウントのロールをご覧ください。
対照的に、バックエンドは Fleet Engine に対して認証と認可を行う必要がある 標準のアプリケーションのデフォルト認証情報を使用 メカニズムです。
承認の仕組み
Fleet Engine データによる認可には、サーバーサイドとクライアントサイドの両方が含まれます。 説明します。
サーバーサイド認証
ウェブベースの バックエンド サーバーが JSON Web Token を発行でき、 Fleet Engine にアクセスするためのウェブベースのアプリケーションです。ウェブベースのアプリケーション リクエストと一緒にこれらの JWT を送信し、Fleet Engine がリクエストを データへのアクセスを許可することを リクエストできます。サーバーサイドの JWT の実装手順については、Issue JSON Web サイトをご覧ください。 トークンは [Fleet Engine Essentials] で確認できます。
特に、JavaScript Consumer SDK for Google では次の点に注意してください。 ジャーニー:- JSON Web Token の発行に関する一般的なガイドライン
- オンデマンド ルートの JWT ガイドライン
- コンシューマ オペレーション用のトークンの例
クライアントサイド認証
JavaScript Consumer SDK を使用する場合は、 認証トークン フェッチャーです。これは、次のいずれかに該当する場合に行われます。
有効なトークンが存在しない場合(SDK がフェッチャーを フェッチャーからトークンが返されなかった場合に返されるメッセージです。
トークンの有効期限が切れています。
トークンの有効期限は 1 分以内です。
それ以外の場合、JavaScript Consumer SDK は以前に発行された有効なトークンを使用し、フェッチャーを呼び出しません。
認証トークン フェッチャーを作成する
次のガイドラインに従って認証トークン フェッチャーを作成します。
フェッチャーは、2 つのフィールドを持つデータ構造を返す必要があります。
Promise
を次のように記述します。文字列
token
。数値
expiresInSeconds
。トークンの有効期限がこの時間です 表示されます。認証トークン フェッチャーは有効期限を渡す必要があります。 ライブラリにフェッチした時点からの秒数です。 見てみましょう。
フェッチャーは、サーバー上の URL を呼び出す必要があります。この URL(
SERVER_TOKEN_URL
)は、バックエンドの実装によって異なります。「 次のサンプル URL は、GitHub にあるサンプルアプリ バックエンド用です。https://SERVER_URL/token/consumer/TRIPID
例 -- 認証トークン フェッチャーを作成する
次の例は、認証トークン フェッチャーの作成方法を示しています。
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,
};
}