iOS Mobile Authentication SDK - Amazon Location Service

iOS Mobile Authentication SDK

These utilities help you authenticate when making Amazon Location Service API calls from your iOS applications. This specifically helps when using Amazon Cognito or API keys as the authentication method.

The iOS mobile authentication SDK is available on github: Amazon Location Service Mobile Authentication SDK for iOS.

Installation

Install the SDK in an Xcode project:

  1. Go to File, then select Add Package Dependencies in your XCode project.

  2. Type the package URL: https://github.com/aws-geospatial/amazon-location-mobile-auth-sdk-ios/ into the search bar and press the enter key.

  3. Select the amazon-location-mobile-auth-sdk-ios package and press Add Package.

  4. Select the AmazonLocationiOSAuthSDK package product and press Add Package.

Authentication Functions

The authentication helper SDK has the following functions:

  • authHelper.authenticateWithApiKey("My-Amazon-Location-API-Key"): LocationCredentialsProvider: This function returns a LocationCredentialsProvider initialized to work with an API Key.

  • authHelper.authenticateWithCognitoIdentityPool("My-Cognito-Identity-Pool-Id"): LocationCredentialsProvider: This function returns a LocationCredentialsProvider initialized to work with an Amazon Cognito identity pool.

Usage

To use the mobile authentication SDK, add the following statements to your activity:

import AmazonLocationiOSAuthSDK import AWSLocationXCF

You have two options when creating the authentication helper and location client provider instances. You can create an instance using Amazon Location API keys or Amazon Cognito.

  • To create an authentication helper instance using an Amazon Location API Key, declare the helper class as follows:

    let authHelper = AuthHelper() let locationCredentialsProvider = authHelper.authenticateWithAPIKey(apiKey: "My-Amazon-Location-API-Key", region: "account-region")
  • To create an authentication helper instance using Amazon Cognito, declare the helper class as follows:

    let authHelper = AuthHelper() let locationCredentialsProvider = authHelper.authenticateWithCognitoUserPool(identityPoolId: "My-Amazon-Location-API-Key", region: "account-region")

You can create an Amazon Location client instance using the location credentials provider and make calls to the Amazon Location service. The following example searches for places near a specified latitude and longitude.

let locationClient = AWSLocation.default() let searchPlaceIndexForPositionRequest = AWSLocationSearchPlaceIndexForPositionRequest()! searchPlaceIndexForPositionRequest.indexName = "My-Place-Index-Name" searchPlaceIndexForPositionRequest.position = [30.405423, -97.718833] let nearbyPlaces = locationClient.searchPlaceIndex(forPosition: searchPlaceIndexForPositionRequest)