所以,我使用 Amplify 和 ionic + angular 并遵循以下链接和子链接,
https://aws-amplify.github.io/docs/js/tutorials/building-ionic-4-apps/
https://aws-amplify.github.io/docs/cli-toolchain/quickstart#administrative-actions
现在,我要在我的应用程序中创建一个管理面板,通过它我可以创建为登录过程启用 MFA 的用户(就像通过 aws-cognito-console 完成的那样)。因此,在我的表单中,我提供了电子邮件和电话号码作为必填字段,并且我计划使用 javascript 创建一个自动生成的密码。
正如我从文档中了解到的那样,这可以通过 AdminQueries API 实现,并且在使用 初始化我的项目时amplify cli
,我进行了所需的配置。结果,我确实在放大后端文件夹中准备好了样板代码,如下面的屏幕所示,
不幸的是,样板代码没有实现 AdminCreateUser 方法,即
因此,我自己在 中创建了这个方法,cognitoActions.js
并且在 中实现了相同的路由app.js
,做了一些CORS设置,最后做了一个amplify push
但是当我尝试从 amplify-angular 方法访问此 api 方法时,它给了我以下错误(我已将错误粘贴在屏幕截图下方)
这就是我的请求、响应标头中的所有内容,
{"message":"Network Error","name":"Error","stack":"Error: Network Error\n at createError (http://localhost:8100/vendor.js:263903:15)\n at XMLHttpRequest.handleError [as __zone_symbol__ON_PROPERTYerror] (http://localhost:8100/vendor.js:263394:14)\n at XMLHttpRequest.wrapFn (http://localhost:8100/polyfills.js:4541:39)\n at ZoneDelegate.invokeTask (http://localhost:8100/polyfills.js:3741:31)\n at Object.onInvokeTask (http://localhost:8100/vendor.js:70625:33)\n at ZoneDelegate.invokeTask (http://localhost:8100/polyfills.js:3740:60)\n at Zone.runTask (http://localhost:8100/polyfills.js:3518:47)\n at ZoneTask.invokeTask [as invoke] (http://localhost:8100/polyfills.js:3815:34)\n at invokeTask (http://localhost:8100/polyfills.js:4953:14)\n at XMLHttpRequest.globalZoneAwareCallback (http://localhost:8100/polyfills.js:4979:17)","config":{"url":"https://4wdmydkl7e.execute-api.ap-south-1.amazonaws.com/test/addUser","method":"post","data":"{\"user\":{\"firstname\":\"Prateek\",\"lastname\":\"k\",\"email\":\"opensource.prateek@gmail.com\",\"phoneNumber\":\"+918700416661\",\"specialization\":\"instrumentation\",\"role\":\"admin\"}}","headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json"},"transformRequest":[null],"transformResponse":[null],"timeout":0,"responseType":"json","xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"host":"4wdmydkl7e.execute-api.ap-south-1.amazonaws.com","path":"/test/addUser"}}
----更新1 -----
我在我的 polyfills.js 中添加了以下内容,
(window as any).global = window;
(window as any).process = {
env: { DEBUG: undefined },
};
这对我的 index.html
<script>
if (global === undefined) {
var global = window;
}
</script>