cla*_*ioz 6 amazon-web-services typescript aws-cognito angular
我正在使用 Angular 4(使用 TypeScript 语言)前端开发 Web 应用程序,并使用 AWS 服务后端大小。此应用程序只能由一组用户访问(每个用户都有自己的邮件和密码)。这组用户在 AWS Cognito - 用户池中定义。我怎样才能拥有这些用户的完整列表及其属性,以便在前端看到她?以及如何仅在前端更改它们的属性?
我看到了 AWS Cognito ( https://github.com/aws/amazon-cognito-identity-js )的 JavaScript 方法,但我没有找到任何我想做的事情。
我想使用某种方法来显示用户及其属性的完整列表(如 Cognito 的 AWS 管理控制台中所见),而且由于另一种方法,我的应用程序始终能够将一些信息作为“组”进行编辑一个用户。
谁能告诉我这是否可能?
回复较晚,但对于那些可能需要它的人来说:
创建新的 IAM 策略,并允许 Cognito 列表用户
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
});
});
Run Code Online (Sandbox Code Playgroud)
该函数将列出用户,只需使用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)
}
})
});
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
12432 次 |
| 最近记录: |