问题标签 [aws-amplify]
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.
header - 使用 AWS Amplify 登录时将 JWT 添加到所有 GraphQL/AppSynce 请求
我有一个使用 IAM 身份验证的 AppSync 应用程序(连接到 Cognito 用户和身份池)。使用 IAM 身份验证时,$event.context.identity 是一个 Cognito 身份池对象,没有用户信息(没有用户名、子、电子邮件等)
我相信每当我发出 graphQL 请求时,我都需要将 UserPoolID JWT(可通过 Amplify 在客户端使用)传递给 AppSync。但我一直无法弄清楚如何将 JWT 添加到(大概)标题中。
-------------EDIT------------- AppSyncClient 是客户端(基于 apollo 构建)。App.js 看起来像
react-native - React-Native aws-amplify PubSub 错误
对 PubSub.subscribe 的调用抛出:
TypeError:assign 的来源之一在原型链上有一个可枚举的键。您是否尝试分配原型属性?我们不允许这样做,因为这是我们不支持的极端情况。此错误是性能优化,不符合规范。
参考: https ://github.com/aws/aws-amplify/issues/750
有人对此错误有解决方法或解决方案吗?
谢谢
aws-lambda - AWS Lambda 函数在手动调用时可以正常工作,但不能通过端点调用
我有一个附加到 API Gateway 端点的 Lambda 函数,它列出了 DynamoDB 中 ID 下的项目。
我使用无服务器框架构建了我的函数。当我在本地调用函数 ( serverless invoke local ...
) 时,它工作正常。当我在 AWS Lambda 控制台上手动测试它时,它可以正常工作,但是当我从 API Gateway 调用它时,它就不起作用了。
它被配置为使用此有效负载:(我用于测试的内容)
在我的应用程序中,我使用aws-amplify
包。这就是我调用端点的方式:
在这里,我得到一个403
错误。如果我在没有额外数据的情况下调用它,即:
我得到一个空列表[ ]
,但没有错误。是否aws-amplify
自动填充该cognitoIdentityId
字段?我正在关注无服务器堆栈教程,他们对此有点掩饰。
我也CloudWatch
设置了,我在那里看不到任何时髦的东西。有关如何修复/调试此问题的任何想法?
干杯!
reactjs - 读取文本文件 aws-amplify s3 从预签名 URL 读取数据
如何使用 aws-amplify 库读取 s3 中的文本文件?我能够获取预签名的 URL,但在访问该 URL 时出现错误,
文档有关于如何获取 url 的说明:
结果是路径的 url,而不是文本。当我运行 http get 方法时,端点不存在。
获取数据的最佳实践是什么?我正在使用反应。
如果有像 Storage.getText(...) 这样的方法,那将是最好的情况。
我试过使用这个添加授权......
400 错误请求 :(
amazon-web-services - AWS Amplify 在 API 请求中使用访客凭证,而不是经过身份验证的凭证
我正在使用带有 MobileHub 的 AWS Amplify 库。
我连接了一个 Cognito 用户池和一个 API 网关(与 Lambda 函数通信)。我希望我的用户在访问资源之前进行签名,因此我在 MobileHub 用户登录页面和云逻辑页面中启用了“强制登录”。
身份验证工作正常,但是当我向我的 API 发送 GET 请求时,我收到此错误:
我了解 Amplify 会生成访客凭据,并将其放入我的 GET 请求中。由于我启用了“强制登录”,这不起作用。
但为什么要使用访客凭据?我已经登录——它不应该使用这些凭据吗?如何使用经过身份验证的用户信息?
干杯。
编辑:这是来自 Lambda 函数的代码:
拉姆达函数:
还有这些小辅助函数:
响应.js:
dynamodb.js:
reactjs - 对 aws-amplify 的反应使用会生成“未定义要求”错误
使用一个简单的 React 示例,然后将此行添加到顶部:
重新加载时产生以下错误:
未捕获的 ReferenceError:未定义要求
我正在使用 webpack 和一个简单的组件的简单 React 渲染。aws-amplify 的软件包是使用npm
.
webpack.config.js 如下:
redux-saga - TypeError:user.sendMFACode 不是函数 - Redux Saga 和 AWS Amplify
使用:aws-amplify 0.3.3、aws-amplify-react-native 0.2.9.、redux-saga 0.15.6
在调用Auth.confirmSignIn
使用 redux-saga 时:
let confirmedUserData = yield call([Auth, Auth.confirmSignIn], userObj, authCode, 'SMS');
收到以下错误: “TypeError:user.sendMFACode 不是函数”
来自的响应对象Auth.signIn
如下:https ://d.pr/AX6IQI 。这个响应对象是Auth.confirmSignIn
作为用户对象传递的。在查看响应对象时,没有sendMFACode
功能。此外,看到以下内容:https://d.pr/i/gmzi0E在整个响应对象中多次存在:
“TypeError:'caller'、'callee' 和 'arguments' 属性可能无法在严格模式函数或调用它们的参数对象上访问”
我不确定上面的错误是否与“TypeError:user.sendMFACode 不是函数”错误有关,因为我不确定sendMFACode
它应该在哪里。
该Auth.confirmSignIn
函数如下所示:https ://gist.github.com/grgaortiz/9a9dacefe1deca932396beea34ebebf2 。您可以看到它试图sendMFACode
从响应“用户”对象调用该函数。
有一个已关闭的 github 问题,但解决方案是将 redux-saga 换成 redux-thunk,这并没有真正解决问题。
reactjs - GraphQL 的 AWS Amplify 和 Apollo 客户端之间的区别?
我同意 Apollo 客户端设置起来很痛苦,因为有很多样板文件(尽管阅读文档后它变得很简单)以及 AWS Amplify、URQL、Apollo Boost 和 Micro GraphQL React 等东西使得在客户端上使用 GraphQL 变得很容易。
我目前正在使用 AWS AppSync,并且想在 AWS Amplify 和 Apollo Client 之间进行选择,并且我正在考虑使用所有 AWS。
那么 AWS Amplify 和 Apollo 客户端有什么区别?
amazon-web-services - AWS Amplify AppSync IAM 401
I'm getting GraphQLError: Request failed with status code 401
I followed the automatic configuration instructions from:
https://aws.github.io/aws-amplify/media/api_guide#automated-configuration-with-cli
I tried looking, but there are a lack of resources for IAM. It looks like everything should be setup automatically, and done with the Amplify CLI after I put in the IAM access key and secret.
Is further setup required? Here is my code:
Could it also be because my GraphQL resolvers are not setup yet for ListKeywords?
javascript - 如何检查用户是否在 AWS Amplify 中被确认?
我检查一下用户是否已经在数据库中,即if (e.name === 'UsernameExistsException') {...
我试过这个检查,看看它是否会返回true
or false
,但没有运气:console.log(await Auth.verifiedContact(this.state.email));
如何检查该用户是否已确认?