使用cognito auth重新连接awsmobile:不会出现userPool错误

时间:2018-04-26 07:17:59

标签: react-native aws-mobilehub aws-amplify aws-userpools

我将一个正常运行的项目移动到一台新机器,并按照建议的步骤重新初始化awsmobile项目,方法是将其链接到现有的移动中心项目。

除了在" No userPool"中签名后,所有内容似乎都按预期进行。错误信息。

我已经查看了其他相关的溢出问题,但它们似乎并不适用。

  • 似乎没有第二个aws-amplify安装
  • 我在使用前配置放大器
  • 所有后端设置均由awsmobile客户端自动生成
  • 移动中心页面显示已设置用户登录。
  • aws_user_pools表示已启用且相关设置显示在配置

我通过以下命令连接到现有的移动中心项目:

awsmobile init <mobile hub project GUID>

以&#34成功结束;成功链接AWS Mobile Hub项目:&#34;。

由amplify加载的配置文件如下(它也是由awsmobile init自动生成的):

const awsmobile = {
    'aws_app_analytics': 'enable',
    'aws_auth_facebook': 'enable',
    'aws_cognito_identity_pool_id': '<value here removed>',
    'aws_cognito_region': '<value here removed>',
    'aws_content_delivery': 'enable',
    'aws_content_delivery_bucket': '<value here removed>',
    'aws_content_delivery_bucket_region': '<value here removed>',
    'aws_content_delivery_cloudfront': 'enable',
    'aws_content_delivery_cloudfront_domain': '<value here removed>',
    'aws_facebook_app_id': '<value here removed>',
    'aws_facebook_app_permissions': 'public_profile',
    'aws_mobile_analytics_app_id': '<value here removed>',
    'aws_mobile_analytics_app_region': '<value here removed>',
    'aws_project_id': '<value here removed>',
    'aws_project_name': '<value here removed>',
    'aws_project_region': '<value here removed>',
    'aws_resource_name_prefix': '<value here removed>',
    'aws_sign_in_enabled': 'enable',
    'aws_user_pools': 'enable',
    'aws_user_pools_id': '<value here removed>',
    'aws_user_pools_web_client_id': '<value here removed>',
}

有什么建议吗?我可以调查的事情?

(之前的机器已经死了,AWS建议您不要将配置对象检查到源代码控制中。所以我无法将delta的当前配置文件与之前的机器进行比较。)< / p>

谢谢!

编辑

以修正格式错误和校对时的语法清晰度

1 个答案:

答案 0 :(得分:1)

在逐步执行withAuthenticator HOC并在aws-amplify / Auth / Auth.js中使用AuthClass对象之后,事实证明问题实际上与堆栈溢出问题有关:

AWS Amplify: How to setup { withConnector } component?

该解决方案提到在aws-amplify-react下的node_modules中寻找重复的aws-amplify安装。我的特定实现是本机反应,因此我查看了aws-amplify-react-native,当然,它有一个带有aws-amplify的node_modules。删除使解决方案有效的方法。

这是因为在App.js文件中配置了放大。但是withAuthenticator HOC从aws-amplify-react-native加载,它首先使用自己从未配置的node_modules的Auth对象。