Ionic2 中的 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";

显然是全球窗口。预计将存在开放式属性。知道整个URL由Auth0提供,我找不到一种方法来弄清楚什么问题。

我已经检查了Auth0中的日志,从它们的角度来看,这都是绿色的,并显示了成功的登录。

知道为什么这会失败吗?

更新:在iPhone和iOS模拟器上进行了测试,并且都显示空白的白屏。下载了示例Auth0项目,并没有任何修改。我的猜测是,它与Cordova的Inapp浏览器插件有关

我当前在锁定的锁定锁定器中的注册链接而不是在inappbrowser中遇到问题。这可能是打破回调的原因,因为它使您完全将应用程序切换到Safari。

我做了一个临时的解决方法,因此在InappBrowser中打开注册链接,请参见Apple拒绝的=>应用程序,因为Auth0 Signuplink在Cordova InappBrowser中没有打开,但是在System Browser(Safari)

您也可以将其应用于您的登录链接,以便在InappBrowser中打开它们。

只想确保您知道Window.Window。在使用window.open(url)导航到页面时,请自动设置窗口。

请参阅http://developer.mozilla.org/en-us/docs/web/api/window/opener

评论后更新:

在离子lib上方尝试<script>window.orgopen = window.open;</script>。在开始Auth0登录流之前,请

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

之后重置: window.open = window.ionicopen;

如果仅仅是黑客,这至少可能从方程式中取出一个未知的。

相关内容

  • 没有找到相关文章

最新更新