JavaScript 認証ヘルパー - Amazon Location Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

JavaScript 認証ヘルパー

Amazon Location JavaScript 認証ヘルパーを使用すると、 JavaScript アプリケーションから Amazon Location をAPI呼び出すときに認証が簡単になります。この認証ヘルパーは、Amazon Cognito または APIキーを認証方法として使用する場合に特に役立ちます。これは、 で利用可能なオープンソースライブラリです。 GitHub-https://github.com/aws-geospatial/amazon-location-utilities-authhelper-js です。

注記

認証ヘルパーの Amazon Cognito サポートは、Amazon Cognito のフェデレーテッドアイデンティティ機能をサポートしていません。

インストール

Webpack などのビルドシステムを使用している場合は、ローカルインストールでライブラリを使用できます。また、HTML に<script>タグ付きのビルド済み JavaScript バンドルを含めることでライブラリを使用できます。

  • を使用してライブラリをインストールするには、次のコマンドを使用しますNPM。

    npm install @aws/amazon-location-utilities-auth-helper
  • ファイルで次のコマンドHTMLを使用して、スクリプトをロードします。

    <script src="https://unpkg.com/@aws/amazon-location-utilities-auth-helper@1.x/dist/amazonLocationAuthHelper.js"></script>

[Import](インポート)

JavaScript アプリケーションで特定の関数を使用するには、その関数をインポートする必要があります。次のコードを使用して、withIdentityPoolId の関数をアプリケーションにインポートします。

import { withIdentityPoolId } from '@aws/amazon-location-utilities-auth-helper';

認証関数

Amazon Location 認証ヘルパーには、AuthHelper オブジェクトを返す以下の関数が含まれています。

  • async withIdentityPoolId( identityPoolId: string): AuthHelper – この関数は AuthHelper 、Amazon Cognito で動作するように初期化された オブジェクトを返します。

  • async withAPIKey( API_KEY: string): AuthHelper – この関数は AuthHelper 、APIキーを操作するために初期化された オブジェクトを返します。

AuthHelper オブジェクトは、以下の関数を備えています。

  • AuthHelper.getMapAuthenticationOptions() – AuthHelper オブジェクトのこの関数transformRequestは、 MapLibre JS のマップオプションで使用できる を持つ JavaScript オブジェクトを返します。アイデンティティプールで初期化された場合にのみ提供されます

  • AuthHelper.getLocationClientConfig() – AuthHelper オブジェクトのこの関数credentialsは、 を初期化するために使用できる を含む JavaScript オブジェクトを返します LocationClient。

  • AuthHelper.getCredentials() – AuthHelper オブジェクトのこの関数は、Amazon Cognito から内部認証情報を返します。アイデンティティプールで初期化された場合にのみ提供されます

例: を使用して Amazon Cognito で MapLibre マップオブジェクトを初期化する AuthHelper

import { withIdentityPoolId } from '@aws/amazon-location-utilities-auth-helper'; const authHelper = await withIdentityPoolId("identity-pool-id"); // use Cognito pool id for credentials const map = new maplibregl.Map({ container: "map", // HTML element ID of map element center: [-123.1187, 49.2819], // initial map center point zoom: 16, // initial map zoom style: https://maps.geo.region.amazonaws.com/maps/v0/maps/mapName/style-descriptor', // Defines the appearance of the map ...authHelper.getMapAuthenticationOptions(), // Provides credential options required for requests to Amazon Location });

例: APIキーを使用した MapLibre マップオブジェクトの初期化 (AuthHelperこの場合は必須ではありません)

const map = new maplibregl.Map({ container: "map", // HTML element ID of map element center: [-123.1187, 49.2819], // initial map center point zoom: 16, // initial map zoom style: https://maps.geo.region.amazonaws.com/maps/v0/maps/${mapName}/style-descriptor?key=api-key-id', });

例: AWS SDK Amazon Cognito と AuthHelper

この例では、 を AWS SDK JavaScript v3 に使用します。

import { withIdentityPoolId } from '@aws/amazon-location-utilities-auth-helper'; const authHelper = await withIdentityPoolId("identity-pool-id"); // use Cognito pool id for credentials //initialize the Location client: const client = new LocationClient({ region: "region", ...authHelper.getLocationClientConfig() // sets up the Location client to use the Cognito pool defined above }); //call a search function with the location client: const result = await client.send(new SearchPlaceIndexForPositionCommand({ IndexName: "place-index", // Place index resource to use Position: [-123.1187, 49.2819], // position to search near MaxResults: 10 // number of results to return });

例: APIキーと を使用して、JS AWS SDK の から Location クライアントを初期化する AuthHelper

この例では、 を AWS SDK JavaScript v3 に使用します。

import { withAPIKey } from '@aws/amazon-location-utilities-auth-helper'; const authHelper = await withAPIKey("api-key-id"); // use API Key id for credentials //initialize the Location client: const client = new LocationClient({ region: "region", ...authHelper.getLocationClientConfig() // sets up the Location client to use the API Key defined above }); //call a search function with the location client: const result = await client.send(new SearchPlaceIndexForPositionCommand({ IndexName: "place-index", // Place index resource to use Position: [-123.1187, 49.2819], // position to search near MaxResults: 10 // number of results to return });