Amplify (AWS) Письмо с подтверждением выдает ошибку 400 Bad Request - PullRequest
2 голосов
/ 26 мая 2020

Я новичок в Amplify, я использовал его через консоли ampify-cli и aws последние полтора месяца или около того и многому научился. Однако недавно я столкнулся с проблемой, которой, похоже, больше ни у кого нет (которую я могу найти при поиске по inte rnet).

Я настроил свой React проект, который использует 3 основных сервиса из aws:

  • Cognito (для аутентификации) (стандартный и федеративный вход [Google, Facebook])
  • Лямбда-функции (автоматически сгенерированные с помощью ampify- cli для проверки электронной почты)
  • GraphQL API также добавлен через cli

Это три основные службы, включенные в мое приложение.

По какой-то странной причине, в последние несколько дней, когда я реализую аутентификацию при регистрации, и пользователь получает письмо с подтверждением, и я нажимаю ссылку для подтверждения. Я СЕЙЧАС получаю эту ошибку:

Скриншот подтверждения ссылка была нажата

Раньше этого никогда не было, и раньше работало идеально. С тех пор я несколько раз вытер все внутренние ресурсы и даже построил весь проект ampify с нуля, но я все еще получаю эту ошибку.

Это часть моего parameters.json файла (внутри ampify каталог)

 "verificationBucketName": "hulpio17b04d80verificationbucket",
    "parentStack": {
        "Ref": "AWS::StackId"
    },
    "permissions": [],
    "dependsOn": [
        {
            "category": "function",
            "resourceName": "hulpio17b04d80CustomMessage",
            "triggerProvider": "Cognito",
            "attributes": [
                "Arn",
                "Name"
            ]
        }
    ],

Ниже приведен снимок экрана моих корзин s3 на консоли aws:

Список корзин s3

Я пробовал ряд вещей, но, хоть убей, я не могу понять, почему эта ошибка все еще возникает, даже после того, как я стер все и начал с нуля.

PS мое приложение размещено в Ireland eu-west-1, поэтому все службы, которые я использую, размещены там, за исключением сегментов s3, которые явно глобальны и не локализованы в одной области.

1 Ответ

0 голосов
/ 26 мая 2020

Итак, у меня есть небольшое обновление, но это не полное решение.

На самом деле больше хака.

внутри файла verification-link.js, я изменил одну строку

const bucketUrl = `http://${resourcePrefix}verificationbucket-${process.env.ENV}.s3-website${seperator}${region}.amazonaws.com`;

Я вручную изменил это на

const bucketUrl = `http://hulpio17b04d80verificationbucket-${process.env.ENV}.s3-website${seperator}${region}.amazonaws.com`;

И на этот раз, когда я щелкнул URL-адрес подтверждения, он начал работать.

Теперь, пока это здорово, и Я мог бы взломать это, я, конечно, не думаю, что это хорошее долгосрочное решение. Похоже, что по какой-то причине префикс ресурса не передается в verification-link.js

Я все еще ищу, и любая помощь по этому поводу все еще очень приветствуется.

Заранее спасибо!

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