기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
JavaScript 인증 도우미
Amazon Location JavaScript 인증 도우미를 사용하면 JavaScript 애플리케이션에서 Amazon LocationAPI을 호출할 때 인증이 더 간단해집니다. 이 인증 도우미는 Amazon Cognito 또는 API 키를 인증 방법으로 사용할 때 특히 도움이 됩니다. 에서 사용할 수 있는 오픈 소스 라이브러리입니다. GitHub여기서는 https://github.com/aws-geospatial/amazon-location-utilities-auth-helper-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>
가져오기
JavaScript 애플리케이션에서 특정 함수를 사용하려면 해당 함수를 가져와야 합니다. 다음 코드는 기능 withIdentityPoolId
을 애플리케이션으로 가져오는 데 사용됩니다.
import { withIdentityPoolId } from '@aws/amazon-location-utilities-auth-helper';
인증 기능
Amazon 위치 인증 도우미에는 AuthHelper
객체를 반환하는 다음 기능이 포함됩니다.
-
async withIdentityPoolId( identityPoolId: string): AuthHelper
- 이 함수는 AuthHelper Amazon Cognito에서 작동하도록 초기화된 객체를 반환합니다. -
async withAPIKey( API_KEY: string): AuthHelper
- 이 함수는 AuthHelper API 키로 작동하도록 초기화된 객체를 반환합니다.
AuthHelper
겍체는 다음과 같은 기능을 제공합니다.
-
AuthHelper.getMapAuthenticationOptions()
- AuthHelper 객체의 이 함수는 MapLibre JS의 맵 옵션과 함께 사용할 수transformRequest
있는 가 있는 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
', });
예: Amazon Cognito 및 를 사용하여 JS AWS SDK용 에서 Location 클라이언트 초기화 AuthHelper
이 예제에서는 JavaScript v3에 를 사용합니다 AWS SDK.
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
이 예제에서는 JavaScript v3에 를 사용합니다 AWS SDK.
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 });