对 AWS Analytics 和 Cognito Sync 使用相同的未经身份验证的身份
Use same unauthenticated identity for AWS Analytics and Cognito Sync
我正在开发一个应用程序,它同时使用 AWS Mobile Analytics 和 Cognito Sync 来处理用户数据。通过查看我的网络日志,我可以看到移动分析的 AMA.Manager
发出与 Cognito Sync 相同的 API 调用以从 AWS 请求有限的临时凭证。
AWS.config.credentials.get()
我的问题是 new AMA.Manager()
和 new AWS.CognitoSyncManager()
是否有可能使用最初从 AWS.config.credentials.get()
请求的相同未验证身份?假设他们都使用相同的身份池。
解决了我自己的问题。只要 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);
}
});
我正在开发一个应用程序,它同时使用 AWS Mobile Analytics 和 Cognito Sync 来处理用户数据。通过查看我的网络日志,我可以看到移动分析的 AMA.Manager
发出与 Cognito Sync 相同的 API 调用以从 AWS 请求有限的临时凭证。
AWS.config.credentials.get()
我的问题是 new AMA.Manager()
和 new AWS.CognitoSyncManager()
是否有可能使用最初从 AWS.config.credentials.get()
请求的相同未验证身份?假设他们都使用相同的身份池。
解决了我自己的问题。只要 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);
}
});