Ayudante de autenticación de JavaScript - Amazon Location Service

Ayudante de autenticación de JavaScript

El ayudante de autenticación de JavaScript para Amazon Location facilita la autenticación al realizar llamadas a la API de Amazon Location desde su aplicación de JavaScript. Este ayudante de autenticación le ayuda específicamente a utilizar Amazon Cognito o las claves de API como método de autenticación. Esta es una librería de código abierto que está disponible en GitHub, aquí: https://github.com/aws-geospatial/amazon-location-utilities-auth-helper-js.

nota

La compatibilidad con Amazon Cognito en el asistente de autenticación no admite la función de identidades federadas de Amazon Cognito.

Instalación

Puede usar las librerías con una instalación local, si usa un sistema de compilación como webpack, o si incluye paquetes de JavaScript prediseñados con etiquetas de <script> en su html.

  • Utilice el siguiente comando para instalar la librería utilizando NPM:

    npm install @aws/amazon-location-utilities-auth-helper
  • Use el siguiente comando en su archivo HTML para cargar el script:

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

Importación

Para usar una función específica en su aplicación de JavaScript, debe importar esa función. El siguiente código se utiliza para importar la función withIdentityPoolId a la aplicación.

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

Funciones de autenticación

Los ayudantes de autenticación de Amazon Location incluyen las siguientes funciones que devuelven un objeto AuthHelper:

  • async withIdentityPoolId( identityPoolId: string): AuthHelper: esta función devuelve un objeto AuthHelper, inicializado para funcionar con Amazon Cognito

  • async withAPIKey( API_KEY: string): AuthHelper: esta función devuelve un objeto AuthHelper, inicializado para que funcione con claves de API.

El objeto AuthHelper proporciona las siguientes funciones:

  • AuthHelper.getMapAuthenticationOptions(): esta función del objeto AuthHelper devuelve un objeto de JavaScript con el transformRequest que se puede utilizar con las opciones de mapa de MapLibre JS. Solo se proporciona cuando se inicializa con un grupo de identidades.

  • AuthHelper.getLocationClientConfig(): esta función del objeto AuthHelper devuelve un objeto de JavaScript con el credentials que se puede utilizar para inicializar un LocationClient.

  • AuthHelper.getCredentials(): esta función del objeto AuthHelper devuelve las credenciales internas de Amazon Cognito. Solo se proporciona cuando se inicializa con un grupo de identidades.

Ejemplo: inicialización de un objeto de mapa de MapLibre con Amazon Cognito mediante un 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 });

Ejemplo: inicialización de un objeto de mapa de MapLibre con una clave de API (AuthHelper no es necesario en este caso)

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', });

Ejemplo: inicialización del cliente de Location desde el SDK de AWS para JS con Amazon Cognito y AuthHelper

En este ejemplo se utiliza SDK for JavaScript v3 de AWS.

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 });

Ejemplo: inicialización del cliente de Location desde el SDK de AWS para JS con una clave de API y AuthHelper

En este ejemplo se utiliza SDK for JavaScript v3 de AWS.

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 });