AWS Mobile Analytics с использованием аутентификации разработчика Cognito

Как мне настроить defaultServiceConfiguration, если...

  • Я использую настраиваемый поставщик удостоверений для аутентификации зарегистрированных пользователей через Cognito. (мне все равно, кто это, пока пользователь не зарегистрируется на нашем сервисе с пользователем/паролем)
  • Я хочу использовать Mobile Analytics для отслеживания событий в приложении в любое время. (Даже для незарегистрированных пользователей)

В настоящее время код для аутентификации выглядит так и выполняется лениво, только когда используется функция, зарезервированная для зарегистрированных пользователей:

CustomIdentityProvider *customIdentityProvider = [[CustomIdentityProvider alloc] initWithIdProvider:idProvider
                                                                                          accountId:_accountId
                                                                                     identityPoolId:_identityPoolId
                                                                                            idToken:idToken];
customIdentityProvider.logins = @{idProvider.name:idToken};

AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1
                                                                                              identityProvider:customIdentityProvider
                                                                                                 unauthRoleArn:nil
                                                                                                   authRoleArn:nil];
AWSServiceConfiguration *configuration = [AWSServiceConfiguration configurationWithRegion:AWSRegionUSEast1
                                                                      credentialsProvider:credentialsProvider];

[AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration;

AWSTask * getIdentityIdTask = [credentialsProvider getIdentityId];

Чтобы использовать Mobile Analytics в любое время в приложении, нужно ли будет устанавливать defaultServiceConfiguration при запуске? Но в этом случае у меня еще нет логинов. Как мне аутентифицировать пользователя без входа в систему?

Спасибо.


person Runo Sahara    schedule 19.11.2015    source источник
comment
Очень хорошее быстрое руководство доступно здесь для AWSCognite. Аутентификация и загрузка файла. Если вы можете конвертировать код, ссылаясь на быстрый код.   -  person Dipen Panchasara    schedule 19.11.2015
comment
Спасибо, моя проблема была связана с аутентификацией разработчика, но в любом случае хороший учебник, он побудил меня полностью использовать cognito :)   -  person Runo Sahara    schedule 20.11.2015


Ответы (1)


Cognito имеет концепцию аутентифицированных и неаутентифицированных удостоверений, аутентифицированных, когда вы предоставили какой-либо логин, и неаутентифицированных, когда вы этого не сделали. Права доступа этих двух типов пользователей определяются ролями, которые вы настроили для этого пула.

Похоже, вы хотите иметь возможность использовать Mobile Analytics в любом случае, что просто означает, что вам нужно убедиться, что доступ разрешен в обеих ролях, которые у вас есть для вашего пула. Политики Cognito по умолчанию предоставляют права Mobile Analytics Put Events — если вы изменили сгенерированные роли, возможно, стоит подтвердить их наличие.

Имея это в виду, вам не обязательно нужны логины, чтобы получить доступ к Mobile Analytics для любого пользователя. Для любых дополнительных прав, которые вы предоставляете аутентифицированным удостоверениям, вы можете обновить логины в какой-то более поздней точке кода, если это необходимо.

Это отвечает на ваш вопрос?

person Jeff Bailey    schedule 19.11.2015
comment
Спасибо. Я создал собственного поставщика удостоверений с пустыми логинами, и, похоже, он работал также после добавления моего провайдера в логины и обновления поставщика учетных данных. Узнав, что неаутентифицированный означает отсутствие входа в систему, часть документа, посвященная поддержке перехода между поставщиками, стала для меня значимой: docs.aws.amazon.com/cognito/devguide/identity/ - person Runo Sahara; 20.11.2015