Я пытаюсь настроить элементарные функции для аутентификации пользователя в моем проекте, но когда я запрашиваю токен аутентификации с функцией aws-sdk initiateAuth()
, он сообщает, что в моем объекте конфигурации отсутствуют учетные данные.Мне удалось настроить создание и подтверждение пользователя без каких-либо учетных данных.Более того, документация не проясняет, что initiateAuth()
требует какие-либо учетные данные или какие учетные данные он хочет.
Когда я запрашиваю аутентификацию, я получаю эту ошибку
{ Error: connect ENETUNREACH 169.254.169.254:80
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1097:14)
message: 'Missing credentials in config',
errno: 'ENETUNREACH',
code: 'CredentialsError',
syscall: 'connect',
address: '169.254.169.254',
port: 80,
time: 2019-04-13T22:26:34.352Z,
originalError:
{ message: 'Could not load credentials from any providers',
errno: 'ENETUNREACH',
code: 'CredentialsError',
syscall: 'connect',
address: '169.254.169.254',
port: 80,
time: 2019-04-13T22:26:34.352Z,
originalError:
{ errno: 'ENETUNREACH',
code: 'ENETUNREACH',
syscall: 'connect',
address: '169.254.169.254',
port: 80,
message: 'connect ENETUNREACH 169.254.169.254:80' } } }
мой код очень прост
const http = require("http")
const aws = require('aws-sdk')
const JSON5 = require('json5')
const serviceProvider = aws.CognitoIdentityServiceProvider
aws.config.update({region : 'us-east-2'})
var service = new serviceProvider()
function authorizeUser(username, password){
service.initiateAuth({
AuthFlow: 'USER_PASSWORD_AUTH',
ClientId: 'placeholder',
AuthParameters: {
'USERNAME': username,
'PASSWORD': password
},
},
function(error, data){
if(error){
console.log(error)
}
else if(data){
console.log(data)
}
})
}
Почему эта функция запрашивает учетные данные, когда онане должны они нужны?Если ему нужны учетные данные, какие ему нужны и как их предоставить?
РЕДАКТИРОВАТЬ: Этот пост решил мою проблему.Я все равно был бы признателен за ответ о том, почему это работает.
Все, что я сделал, это изменил одну строку кода.
aws.config.update({region : 'us-east-2', accessKeyId: 'anything', secretAccessKey: 'anything'})
Пулы пользователей для Amazon Cognito - CredentialsError: отсутствуют учетные данные в конфигурации