我在我的后端使用aws-sdk javascript
,我可以使用AWS
罚款,但当我尝试使用getOpenIdTokenForDeveloperIdentity
方法时,我得到"Missing region in config error"
作为回应。
var config = new AWS.Config({
accessKeyId: "MYACCESSKEY", secretAccessKey: "MYSECRETYKEY", region: 'us-east-1'
});
var params = {
IdentityPoolId: 'MYIDENTITYPOOLID', /* required */
Logins: { /* required */
"login.my.myapp": 'string',
/* anotherKey: ... */
},
IdentityId: null,
TokenDuration: 0
};
cognitoidentity.getOpenIdTokenForDeveloperIdentity(params,function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
在文档中它说:
默认情况下,凭据和区域设置保持未配置状态。在使用任何AWS服务API之前,应由应用程序配置它。
所以我设置了我的区域,但为什么我仍然收到错误?
答案 0 :(得分:6)
您正在本地config
变量中设置区域。它应该在全局AWS.config
中设置,如下所示:
AWS.config.region = 'us-east-1';
同样适用于凭证。如果您想为所有AWS客户端使用Amazon Cognito凭据,您应该像这样初始化AWS.config.credentials
:
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'YOUR_POOL_ID'
});
我希望这有帮助!