AWS-Amplify: доступ без аутентификации для этого пула удостоверений не поддерживается - PullRequest
0 голосов
/ 04 сентября 2018

Я использую: https://github.com/aws-amplify/amplify-js

Есть ли рабочий пример использования аутентифицированного доступа к AWS? Я использую это:

Amplify.configure({
        Auth: {
            identityPoolId: configs.broker.identityPoolId,
            region: configs.broker.aws_pubsub_region,
            userPoolId: configs.broker.userPoolId,
            userPoolWebClientId: configs.broker.userPoolWebClientId,
        }
});

Amplify.addPluggable(new AWSIoTProvider(configs.broker));

Auth.signIn(configs.broker.username, configs.broker.password)
    .then(user => {                
        resolve({ code: 200, message: 'Authorized access to AWS is used' })
    })
    .catch(singInErr => resolve({ code: 500, message: singInErr.message }));

И если все в порядке (это нормально):

    PubSub.publish(configs.broker.topic, JSON.stringify(data))
         .then(res => resolve({
              code: 200,
              message: 'OK'
         }))
         .catch(err => resolve({
              code: 500,
              message: err.toString()
         }));

Но я продолжаю получать:

[Отклонение необработанного обещания: NotAuthorizedException: доступ без аутентификации для этого пула удостоверений не поддерживается.]

1 Ответ

0 голосов
/ 07 сентября 2018

Вы установили аутентификацию с amplify-cli? У меня была похожая проблема с graphql и cognito. Решил это, зайдя в настройки пула удостоверений и настроив Unauthenticated role и Authenticated role. Я только что использовал те, которые были созданы с усилением cli.

Я пытаюсь вспомнить это по памяти, поэтому, возможно, отсутствуют некоторые детали. Но грубые шаги:

  1. Перейти к https://eu -west-1.console.aws.amazon.com / cognito / federated
  2. В верхней панели выберите регион, в котором вы находитесь.
  3. Если у вас есть пулы удостоверений, вы должны увидеть таблицу. Над ним есть ссылка на его настройки. Нажмите это.
  4. В правом верхнем углу, под Support находится Edit Identity Pool. Нажмите это.
  5. Вы должны увидеть экран с двумя вариантами Unauthenticated role и Authenticated role. Нажмите на поля выбора и выберите соответствующие роли. Если вы создали стеки усиления, у него должно быть две роли со словами unauthdRole и authRole, выберите их.

Это должно работать сейчас. Это при условии, что у вас есть правильный пул удостоверений и пользовательский пул.

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