Auth0 в Ionic2 дает Uncaught не может найти ретранслятор в обратном вызове

Я пытаюсь заставить Auth0 работать в браузере, используя

ионный браузер запуска

Я следил за руководствами от Auth0. Я использую

auth0-7.6.1.min.js

Замок/10.10.2/lock.min.js

версии. происходит переход на страницу входа в Google, но обратный вызов не работает с пустым белым экраном. по вызову назад, я имею в виду загрузку

https://n00b.au.auth0.com/login/callback?state=blahblahblah...

URL. который загружает белый html с JavaScript, который выдает exeption

Невозможно найти ретрансляционную рамку

в этих строках кода

     onOpen: function(cb) {
        var o = "*";
        var msgTarget = isIE ? findRelay() : window.opener;
        if (!msgTarget) throw "can't find relay frame";

очевидно, что должно существовать глобальное свойство window.opener. зная, что весь этот URL-адрес обслуживается Auth0, я не могу найти способ выяснить, что не так.

Я проверил журналы в Auth0 и все они зеленые с их точки зрения и показывает успешный вход в систему.

Любая идея, почему это не удается?

UPDATE: протестировано на iPhone и iOS Emulator, и оба показывают только пустой белый экран. Загруженный образец проекта Auth0 и имеет эту проблему без каких-либо изменений. Я предполагаю, что это как-то связано с плагином InApp Browser от Кордовы, открывающим страницу входа в новое окно сафари

Ответы

Ответ 1

У меня возникают проблемы с блокировкой, открывающей ссылку регистрации в браузере Safari, а не в InAppBrowser. Это может быть то, что нарушает обратный вызов, поскольку он полностью переключает приложение на Safari.

У меня есть временное обходное решение, поэтому ссылка для регистрации открывается в InAppBrowser, см. = > Приложение отклонено Apple, потому что Auth0 signUpLink не открывается в Кордове InAppBrowser, а в системном браузере (Safari )

Возможно, вы можете применить это к своим ссылкам входа, чтобы они открылись в InAppBrowser.

Ответ 2

Просто убедитесь, что знаете, что window.opener устанавливается автоматически, когда вы переходите на страницу с помощью window.open(url).

См. http://developer.mozilla.org/en-US/docs/Web/API/Window/opener

Обновление после комментариев:

Попробуйте <script>window.orgopen = window.open;</script> выше ионный lib. Прежде чем запускать входной поток auth0, сделайте

window.ionicopen = window.open; 
window.open = window.orgopen;

Reset после: window.open = window.ionicopen;

Если бы это был просто взлом, это могло бы, по крайней мере, взять неизвестное из уравнения.