我试图让Auth0在浏览器中使用
离子运行浏览器
我遵循了Auth0的指南.我在用
auth0-7.6.1.min.js
锁定/ 10.10.2/lock.min.js
版本.导航到谷歌登录页面,但回调失败,空白屏幕.通过回电我的意思是加载
https://n00b.au.auth0.com/login/callback?state=blahblahblah ...
网址.它使用引发exeption的JavaScript加载白色html
没有找不到中继帧
在这些代码行中
onOpen: function(cb) {
var o = "*";
var msgTarget = isIE ? findRelay() : window.opener;
if (!msgTarget) throw "can't find relay frame";
Run Code Online (Sandbox Code Playgroud)
显然,一个全局的window.opener属性预计会存在.知道整个URL由Auth0提供,我无法找到解决问题的方法.
我已经检查过Auth0中的日志,从他们的角度来看它都是绿色的并显示成功登录.
任何想法为什么会失败?
更新:在iPhone和iOS模拟器上测试,两者都只显示空白屏幕.下载了示例Auth0项目,没有任何修改就有这个问题.我的猜测是它与Cordova的InApp Browser插件有关,在一个新的safari窗口中打开登录页面
我写了一段代码。我想确保我以正确的方式处理对象。
我有一个像这样的一次性类,用于从非托管资源读取一些数据。
class MyFileReader : IDisposable
{
private readonly FileStream _stream;
public MyFileReader(FileStream stream)
{
_stream = stream;
}
public void Dispose()
{
_stream.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
目前在我的程序中,我像这样处理对象。
using (FileStream stream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read))
{
using (MyFileReader reader = new MyFileReader(stream))
{
//...
}
}
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎没问题。后来我注意到类是通过引用传递的,所以也许如果我处理其中一个,就不需要处理另一个。
我的问题是我可以做这样的事情吗?
using (FileStream stream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read))
{
MyFileReader reader = new MyFileReader(stream);
// Remove IDisposable from MyFileReader and stream will close after using.
}
Run Code Online (Sandbox Code Playgroud)
还是这个?
FileStream stream = …
Run Code Online (Sandbox Code Playgroud)