我正在开发一个使用 AWS 服务后端大小的 Web 应用程序。此刻,我使用 AWS Cognito(用户池)来管理用户 session 。
我想要一种方法来帮助我拥有一个用户池的所有用户,以便我可以在我的应用程序中显示他们。 这是我写的代码:
var cognitoidentity = new AWS.CognitoIdentityServiceProvider();
var params = {
UserPoolId: environment.userPoolId,
AttributesToGet: [
'username',
],
};
cognitoidentity.listUsers(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
不幸的是,我总是陷入错误的境地,控制台打印出这样的信息:
Error: Missing credentials in config
at Request.extractError (json.js:48)
at Request.callListeners (sequential_executor.js:105)
at Request.emit (sequential_executor.js:77)
at Request.emit (request.js:683)
at Request.transition (request.js:22)
at AcceptorStateMachine.runTo (state_machine.js:14)
at state_machine.js:26
at Request.<anonymous> (request.js:38)
at Request.<anonymous> (request.js:685)
at Request.callListeners (sequential_executor.js:115)
我尝试了各种方法(甚至使用全局变量),但不幸的是我无法运行它。有谁知道我该如何解决问题以及如何提供凭据?
最佳答案
以下是您可以按推荐顺序提供凭据的方法:
从 Amazon EC2 的 AWS Identity and Access Management (IAM) Angular 色加载(如果在 Amazon EC2 上运行)
从共享凭证文件 (~/.aws/credentials) 加载
从环境变量加载
从磁盘上的 JSON 文件加载
http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html
// Load the AWS SDK for Node.js
var AWS = require('aws-sdk');
// Load credentials and set region from JSON file
AWS.config.loadFromPath('./config.json');
//Inline
var creds = new AWS.Credentials('akid', 'secret', 'session');
或者您可以使用将搜索上述所有提供程序的凭据提供程序链。
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CredentialProviderChain.html
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html
关于javascript - 错误 : Missing credentials in config in my Angular 4 application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46347684/