As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Como usar auxiliares de autenticação
Esta seção fornece informações adicionais sobre auxiliares de autenticação.
Os utilitários de JavaScript autenticação de localização da Amazon ajudam na autenticação ao fazer chamadas de API do Amazon Location Service a partir de aplicativos. JavaScript Esses utilitários oferecem suporte específico à autenticação usando chaves de API ou o Amazon Cognito.
Instalação
-
Instale essa biblioteca usando o NPM:
npm install @aws/amazon-location-utilities-auth-helper
-
Para usá-lo diretamente no navegador, inclua o seguinte em seu arquivo HTML:
<script src="https://cdn.jsdelivr.net/npm/@aws/amazon-location-utilities-auth-helper@1"></script>
Uso
Para usar os auxiliares de autenticação, importe a biblioteca e chame as funções utilitárias necessárias. Essa biblioteca suporta solicitações de autenticação do Amazon Location Service SDKs, incluindo Maps, Places e Routes independentes SDKs, bem como a renderização de mapas com MapLibre o GL JS.
Uso com módulos
Este exemplo demonstra o uso do SDK autônomo do Places para fazer uma solicitação autenticada com chaves de API:
npm install @aws-sdk/geo-places-client import { GeoPlacesClient, GeocodeCommand } from "@aws-sdk/geo-places-client"; 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);
Este exemplo demonstra o uso do SDK autônomo do Routes para fazer uma solicitação autenticada com chaves 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);
Este exemplo usa o Location SDK com autenticação por chave 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 com o navegador
As funções utilitárias são acessíveis sob o objeto global amazonLocationAuth Helper quando usadas diretamente em um ambiente de navegador.
Este exemplo demonstra uma solicitação com o Amazon Location Client, autenticada usando chaves 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);
Este exemplo demonstra a renderização de um mapa com MapLibre GL JS, autenticado com uma chave de API:
<script src="https://cdn.jsdelivr.net/npm/maplibre-gl@4"></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}`, });
Este exemplo demonstra a renderização de um mapa com MapLibre GL JS usando o Amazon Cognito:
<script src="https://cdn.jsdelivr.net/npm/maplibre-gl@4"></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 com identidades autenticadas
Você pode modificar a função withIdentityPool Id para incluir parâmetros personalizados para identidades autenticadas:
const userPoolId = "<User Pool ID>"; const authHelper = await amazonLocationAuthHelper.withIdentityPoolId(identityPoolId, { logins: { [`cognito-idp.${region}.amazonaws.com/${userPoolId}`]: "cognito-id-token" } });
O Amazon Location Service Mobile Authentication SDK para iOS ajuda a autenticar solicitações para o Amazon Location Service a APIs partir de aplicativos iOS. Ele suporta especificamente a autenticação por meio de chaves de API ou do Amazon Cognito.
Instalação
-
Abra o Xcode e vá para File > Add Package Dependencies.
-
Digite a URL do pacote (https://github.com/aws-geospatial/amazon-location-mobile-auth-sdk-ios/
) na barra de pesquisa e pressione Enter. -
Selecione o pacote "amazon-location-mobile-auth-sdk-ios” e clique em Add Package.
-
Escolha o produto do pacote "AmazonLocationiOSAuthSDK” e clique em Add Package.
Uso
Depois de instalar a biblioteca, use a AuthHelper
classe para definir as configurações do cliente para as chaves de API ou para o Amazon Cognito.
Chaves de API
Aqui está um exemplo usando o SDK autônomo do Places com autenticação por chave de 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) }
Aqui está um exemplo usando o SDK autônomo do Routes com autenticação por chave de 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) }
Aqui está um exemplo de uso do SDK de localização com autenticação por chave de 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) }
Aqui está um exemplo usando o SDK autônomo do Places com o 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) }
Aqui está um exemplo usando o Routes SDK independente com o 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) }
Aqui está um exemplo usando o Location SDK com o 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) }
O Amazon Location Service Mobile Authentication SDK para Android ajuda você a autenticar solicitações para o Amazon Location APIs Service a partir de aplicativos Android, oferecendo suporte específico à autenticação usando o Amazon Cognito.
Instalação
-
Esse SDK de autenticação funciona com o SDK geral do AWS Kotlin. Ambos SDKs são publicados no Maven Central. Confira a versão mais recente do SDK de autenticação
no Maven Central. -
Adicione as linhas a seguir à seção de dependências do seu
build.gradle
arquivo no 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 os mapas, lugares e rotas independentes SDKs, adicione as seguintes linhas:
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 o SDK de localização consolidado que inclui delimitação geográfica e rastreamento, adicione a seguinte linha:
implementation("aws.sdk.kotlin:location:1.3.65")
Uso
Importe as seguintes classes em seu 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
Você pode criar um AuthHelper
e usá-lo com o AWS SDK do Kotlin:
Exemplo: provedor de credenciais com ID do 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()) }
Exemplo: provedor de credenciais com provedor de credenciais 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()) }
Exemplo: provedor de credenciais com chave de 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()) }
Você pode usar LocationCredentialsProvider
para carregar o MapLibre mapa. Exemplo:
HttpRequestUtil.setOkHttpClient( OkHttpClient.Builder() .addInterceptor( AwsSignerInterceptor( "geo", "MY-AWS-REGION", locationCredentialsProvider, applicationContext ) ) .build() )
Use os clientes criados para fazer chamadas para o Amazon Location Service. Aqui está um exemplo que pesquisa lugares próximos a uma latitude e longitude especificadas:
val suggestRequest = SuggestRequest { biasPosition = listOf(-97.718833, 30.405423) maxResults = MAX_RESULT language = "PREFERRED-LANGUAGE" } val nearbyPlaces = geoPlacesClient.suggest(suggestRequest)