Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cómo utilizar los ayudantes de autenticación
En esta sección se proporciona información adicional sobre ayudantes de autenticación.
Las utilidades de JavaScript autenticación de Amazon Location ayudan a autenticarse cuando se realizan llamadas a la API de Amazon Location Service desde JavaScript aplicaciones. Estas utilidades admiten específicamente la autenticación mediante claves de la API o Amazon Cognito.
Instalación
-
Instale esta biblioteca mediante NPM:
npm install @aws/amazon-location-utilities-auth-helper -
Para usarla directamente en el navegador, incluya lo siguiente en su archivo HTML:
<script src="https://cdn.jsdelivr.net/npm/@aws/amazon-location-utilities-auth-helper@1"></script>
De uso
Para usar los ayudantes de autenticación, importe la biblioteca y llame a las funciones de utilidad necesarias. Esta biblioteca admite las solicitudes de autenticación de Amazon Location Service SDKs, incluida la versión independiente Maps, Places and Routes SDKs, así como la representación de mapas con MapLibre GL
Uso con módulos
En este ejemplo se muestra el uso del SDK de Lugares independiente para realizar una solicitud autenticada con claves de API:
npm install @aws-sdk/client-geo-places import { GeoPlacesClient, GeocodeCommand } from "@aws-sdk/client-geo-places"; import { withAPIKey } from "@aws/amazon-location-utilities-auth-helper"; const authHelper = withAPIKey("<API Key>", "<Region>"); const client = new GeoPlacesClient(authHelper.getClientConfig()); const input = { ... }; const command = new GeocodeCommand(input); const response = await client.send(command);
En este ejemplo se muestra el uso del SDK de Rutas independiente para realizar una solicitud autenticada con claves de API:
npm install @aws-sdk/geo-routes-client import { GeoRoutesClient, CalculateRoutesCommand } from "@aws-sdk/geo-routes-client"; import { withAPIKey } from "@aws/amazon-location-utilities-auth-helper"; const authHelper = withAPIKey("<API Key>", "<Region>"); const client = new GeoRoutesClient(authHelper.getClientConfig()); const input = { ... }; const command = new CalculateRoutesCommand(input); const response = await client.send(command);
En este ejemplo, se usa el SDK de Ubicación con autenticación por clave de API:
npm install @aws-sdk/client-location import { LocationClient, ListGeofencesCommand } from "@aws-sdk/client-location"; import { withAPIKey } from "@aws/amazon-location-utilities-auth-helper"; const authHelper = withAPIKey("<API Key>", "<Region>"); const client = new LocationClient(authHelper.getClientConfig()); const input = { ... }; const command = new ListGeofencesCommand(input); const response = await client.send(command);
Uso con un navegador
Se puede acceder a las funciones de utilidad desde el objeto global amazonLocationAuth Helper cuando se utilizan directamente en un entorno de navegador.
En este ejemplo se muestra una solicitud con el cliente de Amazon Location, autenticada mediante claves de API:
<script src="https://cdn.jsdelivr.net/npm/@aws/amazon-location-client@1"></script> const authHelper = amazonLocationClient.withAPIKey("<API Key>", "<Region>"); const client = new amazonLocationClient.GeoRoutesClient(authHelper.getClientConfig()); const input = { ... }; const command = new amazonLocationClient.routes.CalculateRoutesCommand(input); const response = await client.send(command);
En este ejemplo, se muestra la representación de un mapa con MapLibre GL JS, autenticado con una clave de API:
<script src="https://cdn.jsdelivr.net/npm/maplibre-gl@5.x"></script> const apiKey = "<API Key>"; const region = "<Region>"; const styleName = "Standard"; const map = new maplibregl.Map({ container: "map", center: [-123.115898, 49.295868], zoom: 10, style: `https://maps.geo.${region}.amazonaws.com/v2/styles/${styleName}/descriptor?key=${apiKey}`, });
En este ejemplo, se muestra la representación de un mapa con MapLibre GL JS mediante Amazon Cognito:
<script src="https://cdn.jsdelivr.net/npm/maplibre-gl@5.x"></script> <script src="https://cdn.jsdelivr.net/npm/@aws/amazon-location-utilities-auth-helper@1"></script> const identityPoolId = "<Identity Pool ID>"; const authHelper = await amazonLocationAuthHelper.withIdentityPoolId(identityPoolId); const map = new maplibregl.Map({ container: "map", center: [-123.115898, 49.295868], zoom: 10, style: `https://maps.geo.${region}.amazonaws.com/v2/styles/${styleName}/descriptor`, ...authHelper.getMapAuthenticationOptions(), });
Uso alternativo con identidades autenticadas
Puede modificar la función de withIdentityPool identificación para incluir parámetros personalizados para las identidades autenticadas:
const userPoolId = "<User Pool ID>"; const authHelper = await amazonLocationAuthHelper.withIdentityPoolId(identityPoolId, { logins: { [`cognito-idp.${region}.amazonaws.com/${userPoolId}`]: "cognito-id-token" } });
El SDK de autenticación móvil de Amazon Location Service para iOS ayuda a autenticar las solicitudes a Amazon Location Service APIs desde aplicaciones iOS. Admite específicamente la autenticación mediante claves de API o Amazon Cognito.
Instalación
-
Abra Xcode y vaya a Archivo > Agregar dependencia de paquete.
-
Escribe la URL del paquete (https://github.com/aws-geospatial/amazon-location-mobile-auth-sdk-ios/
) en la barra de búsqueda y pulsa Entrar. -
Seleccione el paquete "amazon-location-mobile-auth-sdk-ios» y haga clic en Add Package.
-
Elija el producto del paquete «AmazonLocationiOSAuthSDK» y haga clic en Add Package.
De uso
Tras instalar la biblioteca, utilice la clase AuthHelper para configurar los ajustes del cliente para las claves de la API o Amazon Cognito.
Claves de API
A continuación, se muestra un ejemplo con el SDK de Lugares independiente con autenticación de clave de la API:
import AmazonLocationiOSAuthSDK import AWSGeoPlaces func geoPlacesExample() { let apiKey = "<API key>" let region = "<Region>" let authHelper = try await AuthHelper.withApiKey(apiKey: apiKey, region: region) let client: GeoPlacesClient = GeoPlacesClient(config: authHelper.getGeoPlacesClientConfig()) let input = AWSGeoPlaces.SearchTextInput( biasPosition: [-97.7457518, 30.268193], queryText: "tacos" ) let output = try await client.searchText(input: input) }
A continuación, se muestra un ejemplo con el SDK de Rutas independiente con autenticación de clave de la API:
import AmazonLocationiOSAuthSDK import AWSGeoRoutes func geoRoutesExample() { let apiKey = "<API key>" let region = "<Region>" let authHelper = try await AuthHelper.withApiKey(apiKey: apiKey, region: region) let client: GeoRoutesClient = GeoRoutesClient(config: authHelper.getGeoRoutesClientConfig()) let input = AWSGeoRoutes.CalculateRoutesInput( destination: [-123.1651031, 49.2577281], origin: [-97.7457518, 30.268193] ) let output = try await client.calculateRoutes(input: input) }
A continuación, se muestra un ejemplo de cómo usar el SDK de Ubicación con autenticación de clave de la API:
import AmazonLocationiOSAuthSDK import AWSLocation func locationExample() { let apiKey = "<API key>" let region = "<Region>" let authHelper = try await AuthHelper.withApiKey(apiKey: apiKey, region: region) let client: LocationClient = LocationClient(config: authHelper.getLocationClientConfig()) let input = AWSLocation.ListGeofencesInput( collectionName: "<Collection name>" ) let output = try await client.listGeofences(input: input) }
A continuación, se muestra un ejemplo de cómo usar el SDK de Lugares independiente con Amazon Cognito:
import AmazonLocationiOSAuthSDK import AWSGeoPlaces func geoPlacesExample() { let identityPoolId = "<Identity Pool ID>" let authHelper = try await AuthHelper.withIdentityPoolId(identityPoolId: identityPoolId) let client: GeoPlacesClient = GeoPlacesClient(config: authHelper.getGeoPlacesClientConfig()) let input = AWSGeoPlaces.SearchTextInput( biasPosition: [-97.7457518, 30.268193], queryText: "tacos" ) let output = try await client.searchText(input: input) }
A continuación, se muestra un ejemplo de cómo usar el SDK de Rutas independiente con Amazon Cognito:
import AmazonLocationiOSAuthSDK import AWSGeoRoutes func geoRoutesExample() { let identityPoolId = "<Identity Pool ID>" let authHelper = try await AuthHelper.withIdentityPoolId(identityPoolId: identityPoolId) let client: GeoRoutesClient = GeoRoutesClient(config: authHelper.getGeoRoutesClientConfig()) let input = AWSGeoRoutes.CalculateRoutesInput( destination: [-123.1651031, 49.2577281], origin: [-97.7457518, 30.268193] ) let output = try await client.calculateRoutes(input: input) }
A continuación, se muestra un ejemplo de cómo usar el SDK de Ubicación con Amazon Cognito:
import AmazonLocationiOSAuthSDK import AWSLocation func locationExample() { let identityPoolId = "<Identity Pool ID>" let authHelper = try await AuthHelper.withIdentityPoolId(identityPoolId: identityPoolId) let client: LocationClient = LocationClient(config: authHelper.getLocationClientConfig()) let input = AWSLocation.ListGeofencesInput( collectionName: "<Collection name>" ) let output = try await client.listGeofences(input: input) }
El SDK de autenticación móvil de Amazon Location Service para Android le ayuda a autenticar las solicitudes a Amazon Location Service APIs desde aplicaciones de Android y, en concreto, admite la autenticación mediante Amazon Cognito.
Instalación
-
Este SDK de autenticación funciona con el SDK general de AWS Kotlin. Ambos SDKs se publican en Maven Central. Compruebe la versión más reciente del SDK de autenticación
en Maven Central. -
Agregue las siguientes líneas a la sección de dependencias del archivo
build.gradleen Android Studio:implementation("software.amazon.location:auth:1.1.0") implementation("org.maplibre.gl:android-sdk:11.5.2") implementation("com.squareup.okhttp3:okhttp:4.12.0") -
Para los mapas, lugares y rutas independientes SDKs, añada las siguientes líneas:
implementation("aws.sdk.kotlin:geomaps:1.3.65") implementation("aws.sdk.kotlin:geoplaces:1.3.65") implementation("aws.sdk.kotlin:georoutes:1.3.65") -
Para el SDK de ubicación consolidado que incluye geocercado y seguimiento, agregue la siguiente línea:
implementation("aws.sdk.kotlin:location:1.3.65")
De uso
Importe las siguientes clases a su código:
// For the standalone Maps, Places, and Routes SDKs import aws.sdk.kotlin.services.geomaps.GeoMapsClient import aws.sdk.kotlin.services.geoplaces.GeoPlacesClient import aws.sdk.kotlin.services.georoutes.GeoRoutesClient // For the consolidated Location SDK import aws.sdk.kotlin.services.location.LocationClient import software.amazon.location.auth.AuthHelper import software.amazon.location.auth.LocationCredentialsProvider import software.amazon.location.auth.AwsSignerInterceptor import org.maplibre.android.module.http.HttpRequestUtil import okhttp3.OkHttpClient
Puedes crear una AuthHelper y usarla con el SDK de AWS Kotlin:
Ejemplo: proveedor de credenciales con ID de grupo de identidades
private suspend fun exampleCognitoLogin() { val authHelper = AuthHelper.withCognitoIdentityPool("MY-COGNITO-IDENTITY-POOL-ID", applicationContext) var geoMapsClient = GeoMapsClient(authHelper?.getGeoMapsClientConfig()) var geoPlacesClient = GeoPlacesClient(authHelper?.getGeoPlacesClientConfig()) var geoRoutesClient = GeoRoutesClient(authHelper?.getGeoRoutesClientConfig()) var locationClient = LocationClient(authHelper?.getLocationClientConfig()) }
Ejemplo: proveedor de credenciales con proveedor de credenciales personalizado
private suspend fun exampleCustomCredentialLogin() { var authHelper = AuthHelper.withCredentialsProvider(MY-CUSTOM-CREDENTIAL-PROVIDER, "MY-AWS-REGION", applicationContext) var geoMapsClient = GeoMapsClient(authHelper?.getGeoMapsClientConfig()) var geoPlacesClient = GeoPlacesClient(authHelper?.getGeoPlacesClientConfig()) var geoRoutesClient = GeoRoutesClient(authHelper?.getGeoRoutesClientConfig()) var locationClient = LocationClient(authHelper?.getLocationClientConfig()) }
Ejemplo: proveedor de credenciales con clave de la API
private suspend fun exampleApiKeyLogin() { var authHelper = AuthHelper.withApiKey("MY-API-KEY", "MY-AWS-REGION", applicationContext) var geoMapsClient = GeoMapsClient(authHelper?.getGeoMapsClientConfig()) var geoPlacesClient = GeoPlacesClient(authHelper?.getGeoPlacesClientConfig()) var geoRoutesClient = GeoRoutesClient(authHelper?.getGeoRoutesClientConfig()) var locationClient = LocationClient(authHelper?.getLocationClientConfig()) }
Puedes usarlo LocationCredentialsProvider para cargar el MapLibre mapa. A continuación se muestra un ejemplo:
HttpRequestUtil.setOkHttpClient( OkHttpClient.Builder() .addInterceptor( AwsSignerInterceptor( "geo", "MY-AWS-REGION", locationCredentialsProvider, applicationContext ) ) .build() )
Utilice los clientes creados para realizar llamadas a Amazon Location Service. A continuación, se muestra un ejemplo que busca lugares cercanos a una latitud y longitud especificadas:
val suggestRequest = SuggestRequest { biasPosition = listOf(-97.718833, 30.405423) maxResults = MAX_RESULT language = "PREFERRED-LANGUAGE" } val nearbyPlaces = geoPlacesClient.suggest(suggestRequest)