我正在尝试获取cognito中用户的身份池ID。
我拥有所需的所有凭据,(用户名,密码)以及我的客户端ID,池ID和身份池ID。
我可以使用以下代码使用浏览器执行此操作:
AWS.config.credentials.get(function(err, resp) {
if (err) {
console.log('get creds error', err);
alert('get creds error' + err);
} else {
console.log('get creds success', AWS.config.credentials);
// Credentials will be available when this function is called.
accessKeyId = AWS.config.credentials.accessKeyId;
secretAccessKey = AWS.config.credentials.secretAccessKey;
sessionToken = AWS.config.credentials.sessionToken;
console.log("in creds.get - accessKeyId: " + accessKeyId);
console.log("in creds.get - secretyKey: " + secretAccessKey);
console.log("in creds.get - sessionToken: " + sessionToken);
// get this Id and push to array
console.log('UserID: ', AWS.config.credentials.params.IdentityId);
users_identity[username] = AWS.config.credentials.params.IdentityId;
cognitoUser.signOut();
}
});
,但是当我尝试为多个用户获取它时,我只能获得一个用户。当我打电话
时,其他人的身份池ID不正确 console.log('UserID: ', AWS.config.credentials.params.IdentityId);
是否可以在nodejs中执行此操作?
答案 0 :(得分:1)
您要打印的是身份ID ,而不是身份池ID。身份标识是Cognito给出的每个用户的唯一标识符。我不知道javascript SDK中的标识池ID的任何getter,但是这是您在凭据初始化中配置输入的值。您应该可以保持该值可访问并在需要时使用它。