问题标签 [amplifyjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
306 浏览

amazon-cognito - 服务器端:如何刷新过期的令牌?

我正在开发一个 nuxt.js 应用程序,它通过放大提供后端,更具体地说:用于用户/身份管理的 Cognito 和用于 API 的 AppSync。

AppSync 在客户端使用 IAM 作为授权,在服务器端使用 API KEY。

当向服务器发出初始请求时,我可以解析 cookie 中包含的令牌并检查它们是否有效。

如果令牌是有效的,那么一切都很好:我可以在初始页面发送回客户端之前从我的数据库中获取用户并更新我的 Vuex 存储。

但是,如果令牌已过期,我会遇到问题,因为客户端/浏览器随后会收到一个没有用户登录的初始页面。在客户端,当 Web 应用程序初始化时,放大库“启动”,看到过期的令牌并继续在后台自动刷新它们。当我点击刷新时,新令牌被发送到服务器,这一次是有效的。不是很棒的经历。

因此,我的问题是,当解析的令牌过期时,如何在服务器端第一次刷新令牌?

0 投票
2 回答
1278 浏览

node.js - 通过 AWS Amplify 使用查询 API 获取所有项目

我们如何通过调用 dynamodb.query 获取所有项目?

文档指出我们需要寻找LastEvaluatedKey. 只是想知道我们如何以有效的方式聚合所有项目

请查看代码中的注释。这就是我认为我们需要有适当的代码来聚合所有项目并返回响应的地方。

我还没有找到调试方法,因为我对 DynamoDB 和 AWS Amplify 还很陌生。让我知道是否有更简单的方法可以在 AWS 放大备份的 GET API 中进行调试。

0 投票
1 回答
773 浏览

aws-amplify - 放大在哪里抓取`amplify env pull的值--restore` 来自?

在文档中:

  • 放大 env pull –restore

使用当前云环境拉取您的环境。使用 restore 标志将本地后端配置覆盖在云中。

我的问题是,云到底在哪里?我现在遇到的问题是,每当我这样做时,与 running 相比amplify env pull <multi-env-name> --restore,它都会在 my 上获取不同的值。amplify\.backend\amplify-meta.jsonamplify init

我最初所做的是我错误地创建并推送了一个amplify auth,然后我将它更新为一个新的auth,推送它并发布它。不知何故,现在每当我这样做时amplify env pull <multi-env-name> --restore,它都会抓住旧的auth价值。如果他们说恢复标志是用云中的覆盖您的本地后端配置,那么我在云中的配置应该是我更新(推送)的最后一个。

0 投票
2 回答
1828 浏览

reactjs - 是否可以单独在反应应用程序中使用 Amplify Auth?

我在这方面有点新意。我有一个基于反应的网络应用程序,我们一直在使用 AWS cognito 进行身份验证。我amazon-cognito-identity-js用来在用户池中注册用户并进行登录。

现在我正试图用它替换那个库,aws amplify auth因为它的界面很干净。但我不想经历设置过程(放大初始化和所有内容),我想像以前一样使用它amazon-cognito-identity-js

这是我到目前为止所做的,

我已经Amplify Auth在我的app.js文件中配置了 -

这是我在我的Registration组件中注册所做的 -

现在,当我尝试在我的用户池中注册用户时,会创建用户并发送验证邮件。但是在客户端我收到了这个错误-

在此处输入图像描述 谁能告诉我是否有可能我正在尝试什么?您是否认为我只能在客户端单独使用Authofaws amplify而没有任何云或任何东西来仅用户注册和登录用户池?

0 投票
1 回答
176 浏览

amazon-web-services - 使用放大时,我的 Cognito 用户池在哪里?

我正在为 JS 应用程序设置我的第一个放大项目,通过此处的入门文档工作。运行amplify add auth和配置新的 cognito 用户池后,没有问题,运行amplify push也没有问题。我在 AWS 控制台的任何地方都找不到新的 cognito 池。我浏览了每个区域,并尝试以我的放大 IAM 用户身份登录控制台,但我什么也没看到——无论是在认知部分还是云形成部分。

那么……它在哪里?它还没有创建吗?控制台中不会出现大量用户池吗?

0 投票
2 回答
1300 浏览

amazon-web-services - 使用 AWS Amplify Auth 和 GraphQL API,您将如何进行一些公共和一些私有查询/突变调用?

设置:

  • 带有 GraphQL 的 AWS Amplify API
  • AWS Amplify Auth w/ Cognito 用户池

假设登出用户应该可以访问该平台的大部分内容。例如,他们应该能够阅读论坛Topics,但如果他们想发帖,他们需要登录。

我看到了一个可以使用的@auth 解析器,但是每当我尝试对my.url.amazonawscom/graphqlfetch进行 graphQL 调用时Topics,它都会显示"errorType": "UnauthorizedException". 我无法弄清楚已注销的用户如何获得对可公开访问数据的授权。

0 投票
1 回答
243 浏览

next.js - Next.js Amplify Serverless AppSync graphql(放大错误)

我正在尝试创建一个将 Amplify 和 AppSync 与 Next.js 一起使用的应用程序。

我能够成功部署应用程序,但是当我尝试访问应用程序时(尝试从 AppSync 获取数据)它失败了。

我有点失去了需要查看的内容,该应用程序似乎在本地运行良好,但是当我在 AWS 上发布它时它失败了。

我收到错误:TypeError: Cannot read property 'getName' of undefined //quotes.js

>

有没有人遇到过这样的问题或任何想法来解决这个问题?提前致谢。

0 投票
1 回答
272 浏览

amazon-web-services - 使用相同的 GraphQL 资源设置第二个 Amplify 项目

我们有一个现有的 AWS Amplify 项目,其中包含身份验证、api、存储、托管等。运行良好。我们现在需要使用相同的 DynamoDB 表、GraphQL 模式等创建一个单独的可公开访问的站点,而无需身份验证,并且具有不同的托管和存储资源。我们在 StackOverflow 上查看了几个类似的问题,但没有任何答案。我们最好的猜测是复制 Amplify 配置文件并删除非 api 相关的配置文件和部分 - 但如果它有效,这似乎是一个 hack。

有什么官方方法可以尝试吗?

0 投票
0 回答
536 浏览

graphql - AWS Amplify React GraphQL 客户端未触发订阅

我正在使用 Amplify/AppSync 创建一个应用程序,我希望该应用程序能够在发生时刷新视频列表。

这是我第一次使用 GraphQL,所以我可能遗漏了一些东西,我已经在谷歌上搜索过类似的问题,但其中大多数实际上都没有答案。我正在使用轻型 AWS Amplify GraphQL 客户端库,想知道它是否值得迁移到 AppSync/Apollo,但是,文档指出,如果您不需要缓存/离线功能,则不需要

我在 AppSync 上创建了我的应用程序,然后使用生成了我的查询/突变/订阅amplify codegen

我的订阅模式:

然后在我的代码上,我执行以下操作:

该列表正在正确显示,除了当我在数据库上创建新项目时它不会更新(当然,如果我手动刷新页面它会起作用)。要在数据库上创建一个新项目,我将转到 AWS AppSync 控制台 -> 查询 -> 然后在那里运行 createVideoOnDemand ...该行已成功添加到 DynamoDB 表中,但是,它不会触发我的事件代码,该行console.log(prev.listVideoOnDemands.items);永远不会被调用。

我也尝试不使用<Connect />,而是使用subscribeuseEffect 调用上的方法(对于componentWillMount事件),就像这里显示的那样,没有任何区别。

知道为什么会这样吗?

PS:我也想在Connect上整合更多的订阅,但是我找不到任何关于是否可以的信息,这里只有一个问题,目前没有答案。

0 投票
0 回答
336 浏览

javascript - 在带有 react-native 项目的 Amplify-js 中存在登录问题。TypeError:无法读取未定义的属性“USER_ID_FOR_SRP”

描述问题

从 cognito-js 切换到 Amplify 后,我遇到了一个对我来说非常棘手的问题。我完成了所有 Auth 的设置。方法(注册、登录、忘记密码、发送代码……)。我设法让注册序列顺利进行。但问题在于登录。当我输入用户名和密码时,我收到一条错误消息,提示 ComputeModPow of undefined。在查看了在他们的 github 页面上针对它提出的问题并执行了建议的解决方法后,我安装了 amazon-cognito-identity-js,链接它并再次构建并运行。这样做后,我遇到了我的问题“USER_ID_FOR_SRP”

重现

我很想看看这是否是一个问题,今天创建了一个全新的 npx react-native init,它给了我ComputeModPow错误,并在我安装 amazon-cognito-identity-js 后得到修复。

所以我的猜测是我的项目有问题。所以我请求任何人帮助我弄清楚。

哪些版本的 Amplify 以及哪些浏览器/操作系统会受到此问题的影响?

我认为操作系统和浏览器不会受到影响,因为在一个基本的 react-native 应用程序上,它可以正常工作。