我正在尝试使用
在浏览器中工作离子运行浏览器
我遵循了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
;
如果仅仅是黑客,这至少可能从方程式中取出一个未知的。