错误:在我的Angular 4应用程序的配置中缺少凭据
问题描述:
我正在开发一个使用AWS服务后端大小的Web应用程序。在这一刻,我使用AWS Cognito(用户池)来管理用户会话。错误:在我的Angular 4应用程序的配置中缺少凭据
我想要一个方法,可以帮助我让用户池的所有用户都可以在我的应用程序中显示它们。 这是我写的代码:
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)
我在各方面尝试过的方法(甚至使用全局变量),但遗憾的是我不能让它运行。有谁知道我可以如何解决这个问题,我如何提供凭据?
答
以下是您可以在推荐的顺序提供您的凭据的方法:
从AWS身份和访问管理(IAM)对亚马逊EC2的角色加载(如果在Amazon EC2上运行)
从共享凭证加载文件(〜/ .aws /凭证)
从环境变量加载
从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