繁体   English   中英

放大 (AWS) 验证 Email 给出 400 错误请求错误

[英]Amplify (AWS) Verification Email Gives 400 Bad Request Error

我对 Amplify 很陌生,在过去一个半月左右的时间里,我一直在通过 amplify-cli 和 aws 控制台使用它,并且在此过程中学到了很多东西。 但是最近我遇到了一个其他人似乎没有的问题(我可以通过在互联网上搜索找到)。

我已经设置了我的React项目,它使用了来自 aws 的 3 项主要服务:

  • Cognito(用于身份验证)(标准和联合登录 [Google、Facebook])
  • Lambda 功能(由放大 cli 自动生成以进行 email 验证)
  • GraphQL API 也通过 cli 添加

这些是我的应用程序中包含的三个主要服务。

出于某种奇怪的原因,在过去的几天里,当我实施注册身份验证时,用户收到了验证 email 并且我点击了验证链接,我现在得到了这个错误:

验证链接被点击的截图

以前从来没有这种情况,并且曾经完美地工作过。 从那以后,我多次擦除了所有后端资源,甚至从头开始构建了整个放大项目,但我仍然不断收到该错误。

这是我的parameters.json的一部分。json 文件(在放大目录内)

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

下面是我在 aws 控制台上的 s3 存储桶的屏幕截图:

s3 存储桶列表

我已经尝试了很多事情,但是对于我的生活,我无法理解为什么这个错误仍然会出现,即使我已经擦除了所有内容并从头开始。

PS 我的应用程序托管在Ireland eu-west-1 ,因此我使用的所有服务都托管在那里,除了 s3 存储桶,它显然是全球性的,而不是本地化到单个区域。

所以,我有一个小的更新,但它不是一个完整的解决方案。

更多的黑客真的。

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

我仍在搜索,仍然非常欢迎对此提供任何帮助。

提前致谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM