Как я могу заставить reCAPTCHA работать при использовании компонента аутентификации FirebaseUI? - PullRequest
0 голосов
/ 24 мая 2019

Я создаю веб-приложение с использованием Polymer для создания внешнего интерфейса и использую компонент FirebaseUI в качестве раскрывающегося окна для поддержки проверки подлинности телефона Firebase, но сразу же отображается страница, на которой установлен компонент FirebaseUI.Я получаю эту ошибку в моих журналах консоли: Uncaught DOMException: Blocked a frame with origin "https://www.google.com" from accessing a cross-origin frame. И после этого reCAPTCHA не будет решена.Я хочу использовать проверку подлинности телефона firebase в приложении , которое я создаю.

Я попытался запустить приложение на локальном сервере dev, обслуживающем его на http, но при этом все равно вести себя одинаководаже когда я бегу на базе огня (https).Я попытался открыть проблему на github , но до сих пор не получен полезный ответ.

Ниже приведен код, отвечающий за настройку и указание места, где должен быть представлен компонент проверки подлинности телефона FirebaseUI..

ready() {
        super.ready();
        // FirebaseUI config.
        var uiConfig = {
            signInSuccessUrl: `${window.location.origin}/seller-dashboard`,
            signInOptions: [
                {
                    provider: firebase.auth.PhoneAuthProvider.PROVIDER_ID,
                    recaptchaParameters: {
                        type: 'image', // 'audio'
                        size: 'normal', // 'invisible' or 'compact'
                        badge: 'bottomleft' //' bottomright' or 'inline' applies to invisible.
                    },
                    defaultCountry: '+260'
                }
            ],
            // tosUrl and privacyPolicyUrl accept either url string or a callback
            // function.
            // Terms of service url/callback.
            tosUrl: `${window.location.origin}/terms`,
            // Privacy policy url/callback.
            privacyPolicyUrl: function () {
                window.location.assign(`${window.location.origin}/privacy`);
            }
        };

        // Initialize the FirebaseUI Widget using Firebase.
        var ui = new firebaseui.auth.AuthUI(firebase.auth());
        // The start method will wait until the DOM is loaded.
        ui.start(this.$.container, uiConfig);
    }

Когда page, где отображается компонент firebaseui phone authentication, у меня есть эти console logs в Google Chrome: XHR finished loading: GET "https://www.googleapis.com/identitytoolkit/v3/relyingparty/getRecaptchaParam?key=AIzaSyAUb_eFUs_zNJ5HMtlRV3Ghg1JLQ63enL4&cb=1558695304328". recaptcha__en.js:529

Uncaught DOMException: Blocked a frame with origin "https://www.google.com" from accessing a cross-origin frame. at wG.K.l9 (https://www.gstatic.com/recaptcha/api2/v1558333958099/recaptcha__en.js:529:183) at yu (https://www.gstatic.com/recaptcha/api2/v1558333958099/recaptcha__en.js:532:11) at Object.init (https://www.gstatic.com/recaptcha/api2/v1558333958099/recaptcha__en.js:542:72) at https://www.google.com/recaptcha/api2/bframe?hl=en&v=v1558333958099&k=6LcMZR0UAAAAALgPMcgHwga7gY5p8QMg1Hj-bmUv&cb=2zr5gn9cy630:184:30

Я запускаю все на macOS Mojave, браузер: Google Chrome 74.0.3729.157, версия пользовательского интерфейса Firebase: 6.0.2 и Polymer 3.

Любая помощь, как я могу получить эту работу?

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