Используйте одинаковые идентификаторы без аутентификации для AWS Analytics и Cognito Sync

Я занимаюсь разработкой приложения, которое использует как AWS Mobile Analytics, так и Cognito Sync для пользовательских данных. Просматривая мои сетевые журналы, я вижу, что AMA.Manager для Mobile Analytics выполняет те же вызовы API, что и Cognito Sync, чтобы запросить ограниченные временные учетные данные из AWS.

AWS.config.credentials.get()

Мой вопрос, если это возможно для обоих new AMA.Manager() а также new AWS.CognitoSyncManager() использовать ту же неаутентифицированную личность, которая первоначально запрашивается у AWS.config.credentials.get()? Предполагая, что они оба используют один и тот же пул удостоверений.

1 ответ

Решение

Решил мою собственную проблему. Пока оба AMA.Manager а также AWS.CognitoSyncManager инициализируются с тем же поставщиком учетных данных, используя один IdentityPoolId, он работает нормально. Пример моего кода ниже:

AWS.config.region = 'us-east-1';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
    IdentityPoolId: SHARED_COGNITO_IDENTITY_POOL_ID
});

var analytics = null;
var syncClient = null;
var options = {
    appId : MOBILE_ANALYTICS_APP_ID
};

AWS.config.credentials.get(function(err) {

    if(!err){
        syncClient = new AWS.CognitoSyncManager();
        analytics = new AMA.Manager(options);
    }
});
Другие вопросы по тегам