Усилить CLI - Angular + Ioni c - MFA - AdminQueries API: XMLHttpRequest.handleError [as __zone_symbol__ON_PROPERTYerror] - PullRequest
0 голосов
/ 17 апреля 2020

Итак, я использую 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, я выполнил необходимую настройку. В результате я получил готовый код шаблона в папке бэкэнда усиления, как показано на экране ниже:

Check the highlighted yellow area

К сожалению, код шаблона не У меня нет реализации метода AdminCreateUser, т.е.

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#adminCreateUser -property

, поэтому я сам создал этот метод в cognitoActions.js и маршрут для то же самое было реализовано в app.js, выполнено несколько настроек CORS и, наконец, amplify push

Но когда я попытался получить доступ к этому методу API из методов ampify- angular, это дает мне следующую ошибку (я вставил ошибку ниже скриншота)

enter image description here

Это все, что у меня есть в моем запросе, заголовки ответа,

enter image description here enter image description here

{"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>

1 Ответ

1 голос
/ 03 мая 2020

Таким образом, я выполнил удаление с усилением, т.е. удалил усиление из моего проекта angular 2 и перешел на nodejs aws sdk, в своем бессерверном внутреннем коде вместе с существующими лямбда-функциями, теперь у меня есть еще несколько лямбды для создания, удаления и составления списка пользователей с помощью следующего API запросов администратора:

https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AddCustomAttributes.html

Документация по Amplify все еще не работает, и поэтому я рекомендую go для очень надежного API / SDK, как указано в ссылке выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...