【问题标题】:Can not remove AWS Amplify Auth无法删除 AWS Amplify Auth
【发布时间】:2021-11-16 03:15:04
【问题描述】:

我有一个使用以下放大资源的网络应用程序: 认证 API 功能 托管

在通过 Auth0 流程时,我遇到了 Auth 服务问题,出现以下网络错误: 标题中的错误消息:

x-amzn-errormessage: IdentityPool 'us-east-2:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found.

控制台中的错误消息: POST https://cognito-identity.us-east-2.amazonaws.com/ 400

所以我正在尝试完全删除 Auth 部分并尝试从头开始重新构建它。

但是,当我运行时:

amplify remove auth

它在我的本地代码中删除了身份验证,但随后将不允许我“放大推送”或“放大发布”,因为找不到身份验证服务????????‍♂️??? ?????‍♂️????????‍♂️,我收到以下信息:

Template error: instance of Fn::GetAtt references undefined resource auththisismyappg986421b An error occurred during the push operation: Template error: instance of Fn::GetAtt references undefined resource auththisismyappg986421b

有人知道如何解决这个问题吗?或有关如何获得的建议 AWS Amplify - React - React Router(使用受保护的路由)可以很好地发挥作用吗?

【问题讨论】:

    标签: reactjs authentication react-router aws-amplify


    【解决方案1】:

    您还有其他依赖身份验证的资源吗? (api、存储等) 如果这样做,当您删除身份验证时,您会收到以下警告:

    You have configured resources that might depend on this Cognito resource.  Updating this Cognito resource could have unintended side effects.
    

    从您的消息来看,您可能有一个依赖于您的 Auth 的 API。看看amplify/api/YOURAPI/parameters.json,应该有

       {
          "AppSyncApiName": "YOURAPI",
          "AuthCognitoUserPoolId": {
            "Fn::GetAtt": [
              "auththisismyappg986421b",
              "Outputs.UserPoolId"
            ]
          }
        }
    

    因此,对您删除的身份验证的依赖仍然存在,Amplify 不喜欢这样。

    您可以做的是从头开始创建新的身份验证,然后您将获得一个新的 userPoolID,比如说 auththisismyappgXXXXXXX 并将 auththisismyappg986421b 的每个实例替换为 auththisismyappgXXXXXXX。

    编辑:顺便说一句,如果有人有办法通过放大 CLI 更干净地做到这一点,那就太好了:)

    【讨论】:

    • 嗨,马特,感谢您的回复。我确实将 API 链接到 Auth,所以这可能是问题所在。我发现由于某种原因,联邦身份池丢失了,这就是 Auth 一开始就不起作用的原因。我无法测试您的解决方案,因为我基本上只是从头开始重建了整个后端。对我来说是一些很好的做法,而且放大速度很快。
    猜你喜欢
    • 1970-01-01
    • 2020-11-18
    • 2019-12-25
    • 2023-02-03
    • 2023-03-22
    • 1970-01-01
    • 2019-08-30
    • 2019-06-29
    • 2022-12-28
    相关资源
    最近更新 更多