React Native App中AWS Amplify和Expo出现间歇性401未经授权错误

wlwcrazw  于 6个月前  发布在  React
关注(0)|答案(1)|浏览(57)

我正在使用Expo和AWS Amplify开发一个React Native应用。我遇到了一个间歇性的问题,我收到以下错误:获取用户数据时出错:{“data”:{},“errors”:GraphQLError:Request failed with status code 401}。即使我没有对Amplify后端进行任何更改,这个错误似乎也会发生。
为了提供一些上下文,我在.gitignore中包含了aws-exports.js,我怀疑这可能是在eas构建过程中导致问题的原因,因为文件可能没有正确加载。|base64 -d > ./src/aws-exports.js”添加到我的package.json中,并注解掉. easignore中的# aws-exports.js。尽管采取了这些措施,错误仍然偶尔发生。
我发现自己每次都需要运行amplify push API来解决这个问题,但我正在寻找一个更持久的解决方案。这个问题是否与构建过程中未读取aws-exports.js文件有关,或者我遗漏了其他东西?

  • schema.graphql
@model
  @auth(rules: [
    { allow: public, operations: [read] },
    { allow: owner, provider: userPools },
    { allow: private, provider: userPools, operations: [read, update] }
  ])

字符串
如有任何关于如何解决这一问题的见解或建议,将不胜感激。

vecaoik1

vecaoik11#

启动更新过程:

amplify update api

字符串
运行该命令后,系统将提示您以下问题:
对于“请从下面提到的服务中选择一个”,选择“GraphQL”。
对于“从下面的选项中选择”,选择“更新授权设置”。
对于“选择API的默认授权类型”,选择“API密钥”。
对于“输入API密钥的说明”,请提供API密钥的说明。
对于“API密钥应该在多少天后过期(1-365)”,请输入1到365天范围内的新过期日期。
如果您不需要配置其他身份验证类型:
对于“是否配置其他身份验证类型?”,选择“否”。

amplify push


这些步骤将允许您更改AWS Amplify中使用的AppSync API密钥的到期日期。

相关问题