我正在使用Angular 4(使用TypeScript语言)前端开发Web应用程序,并使用AWS服务后端大小。 此应用程序只能由一组用户访问(每个用户都有自己的邮件和密码)。此组用户在AWS Cognito - 用户池中定义。 如何将这些用户的完整列表及其属性包含在内 在前端看到她?我如何只在前端改变他们的属性呢?
我看到了AWS Cognito的JavaScript方法(https://github.com/aws/amazon-cognito-identity-js),但我找不到任何我想做的事情。
我想使用某种方法来显示具有其属性的完整用户列表(如Cognito的AWS管理控制台中所示) 并且总是,由于另一种方法,我的应用程序能够将一些信息编辑为" group"用户。
有人可以告诉我这是否可能?
答案 0 :(得分:1)
最新反应,但对于可能需要它的人:
JS中的代码
const cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider({
apiVersion: '2016-04-18',
region: "eu-central-1",
credentials: Auth.essentialCredentials(credentials)
});
var params = {
UserPoolId: environment.amplify.Auth.userPoolId, /* required */
AttributesToGet: [
"email",
],
Limit: 0
};
cognitoidentityserviceprovider.listUsers(params, function (err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
});
答案 1 :(得分:0)
答案 2 :(得分:0)
此函数将列出用户,仅使用aws密钥和密钥,用户池区域和id并调用函数getUsers()。 您可以在参数中使用过滤器来执行更具体的请求。 https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#listUsers-property
var AWS = require('aws-sdk');
exports.getUsers= () => {
var params = {
UserPoolId: USER_POOL_ID
AttributesToGet: [
'ATTRIBUTE_NAME',
],
};
return new Promise((resolve, reject) => {
AWS.config.update({ region: USER_POOL_REGION, 'accessKeyId': AWS_ACCESS_KEY_ID, 'secretAccessKey': AWS_SECRET_KEY });
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
cognitoidentityserviceprovider.listUsers(params, (err, data) => {
if (err) {
console.log(err);
reject(err)
}
else {
console.log("data", data);
resolve(data)
}
})
});
}