Итак, я использую Amplify с ioni c + 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, т.е.
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#adminCreateUser -property
, поэтому я сам создал этот метод в cognitoActions.js
и маршрут для то же самое было реализовано в app.js
, выполнено несколько настроек CORS и, наконец, amplify push
Но когда я попытался получить доступ к этому методу API из методов ampify- angular, это дает мне следующую ошибку (я вставил ошибку ниже скриншота)
Это все, что у меня есть в моем запросе, заголовки ответа,
{"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"}}
---- Upate 1 -----
Я добавил следующее в мои полифиллы. js,
(window as any).global = window;
(window as any).process = {
env: { DEBUG: undefined },
};
и это в мой индекс. html
<script>
if (global === undefined) {
var global = window;
}
</script>