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
;
Если бы это был просто взлом, это могло бы, по крайней мере, взять неизвестное из уравнения.