翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 });