сообщение: «Отсутствуют учетные данные в конфигурации» внутри initiateAuth (). Какие учетные данные мне не хватает? - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь настроить элементарные функции для аутентификации пользователя в моем проекте, но когда я запрашиваю токен аутентификации с функцией 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: отсутствуют учетные данные в конфигурации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...