AWSCognito отсутствует регион в конфигурации ошибка
Я использую 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
});
В документах сказано, что:
По умолчанию учетные данные и региональные настройки остаются незастроенными. Это должно быть настроено приложением перед использованием любого API сервиса AWS.
Итак, я установил свой регион, но почему я все еще получаю ошибку?
1 ответ:
Вы задаете регион в локальной переменной
config
. Он должен быть установлен в глобальномAWS.config
, например:AWS.config.region = 'us-east-1';
То же самое относится и к учетным данным. Если вы хотите использовать учетные данные Amazon Cognito для всех своих клиентов AWS, вы должны инициализировать
AWS.config.credentials
следующим образом:AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: 'YOUR_POOL_ID' });
Надеюсь, это поможет!