2015-03-12 5 views
1

Я пытаюсь использовать AWSCognito в Objective C для аутентификации в базе данных Amazon SimpleDB. Я инициализирую AWSCognitoCredentialsProvider с идентификатором пула идентификаторов, указанным на моей учетной записи Amazon. Проблема в том, что когда я пытаюсь получить ключ доступа и секретный ключ от объекта AWSCognitoCredentialsProvider, они равны нулю.AWS Cognito Credentials Provider для IOS - ключ доступа и секретный ключ - это nil

Я инициализировать провайдер учетных любит это:

AWSCognitoCredentialsProvider *credentialsProvider = [AWSCognitoCredentialsProvider credentialsWithRegionType:AWSRegionUSEast1 accountId:ACCOUNT_ID identityPoolId:IDENTITY_POOL_ID unauthRoleArn:UNAUTH_ROLE authRoleArn:AUTH_ROLE]; 

AWSServiceConfiguration *configuration = [AWSServiceConfiguration configurationWithRegion:AWSRegionUSEast1 credentialsProvider:credentialsProvider]; 

[AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; 

После этого, я пытаюсь инициализировать клиент SimpleDB любит это:

sdbClient = [[AmazonSimpleDBClient alloc] initWithAccessKey:[credentialsProvider accessKey] withSecretKey:[credentialsProvider secretKey]]; 

Я делаю что-то не так?

ответ

1

Вы смешиваете версии 1 и 2 AWS Mobile SDK для iOS? Они не предназначены для совместного использования, и вам следует полностью перейти на версию 2.

V2 SDK автоматически назначает - refresh поставщикам учетных данных, если это необходимо. Поскольку вы не используете AWSSimpleDB, - refresh никогда не назывался, и именно поэтому accessKey и secretKey return nil.

AWSCognitoCredentialsProvider создает временные полномочия AWS, состоящие из accessKey, secretKey и sessionKey. - initWithAccessKey:withSecretKey: не принимает временные учетные данные, и даже если вы вручную вызываете - refresh у поставщика учетных данных, AmazonSimpleDBClient не работает.

Я рекомендую переписывать приложение, используя AWSSimpleDB вместо AmazonSimpleDBClient, чтобы использовать идентификационную информацию Amazon Cognito.

Смежные вопросы