Firebase reCAPTCHA верификатор не работает в приложении Cordova для iOS - PullRequest
0 голосов
/ 30 апреля 2019

У меня проблема с приложением Cordova для iOS и проверкой FireBase reCAPTCHA.

Я пытаюсь выполнить вход по номеру телефона в мое приложение Cordova, используя метод Firebase, примерно так:

// DOM:
<div id="recaptcha-verifier-container" />

// Render recaptcha widget
const recaptchaVerifier = new firebase.auth.RecaptchaVerifier(
  'recaptcha-verifier-container',
  { 'size': 'normal' })
recaptchaVerifier.render()

// Sign in after user has completed captcha verification and entered phone number
firebase.auth().signInWithPhoneNumber(number, recaptchaVerifier)

В приложении Cordova для Android и обычном веб-приложении это создает виджет-флажок для капчи в iframe (см. Скриншот DOM), и вход в систему работает, как и ожидалось.Хотя в приложении iOS виджет капчи не отображается (см. Скриншот DOM), поэтому пользователь не может его завершить и войти в систему.

Консоль не предоставляет полезных сообщений, но если я открою URL iframe iOS reCAPTCHA, ясм. виджет с надписью Не удалось подключиться к серверу reCAPTCHA.Пожалуйста, проверьте подключение к Интернету и перезагрузите компьютер, чтобы получить вызов reCAPTCHA (см. Скриншот).

Я использую cordova-plugin-ionic-webview в своем проекте, что делает все приложение обслуживаемым через внутренний веб-серверна http://localhost:8080.Я занесен в белый список локального домена из настроек проекта Firebase.Это должно исправить обычную проблему с Cordova, когда капча не работает из-за протокола * 1014.

Есть ли у вас какие-либо идеи, как исправить поведение iOS или как отладить эту проблему дальше?

DOM виджета рекавери Android (в порядке) Android recaptcha widget - rendered

DOM виджета рекаптчи iOS (не отображается) iOS recaptcha widget - not rendered

Открытие URL-адреса iframe iOS-виджета enter image description here

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