我想显示一个弹出窗口,如 facebook 登录,成功登录后,我想关闭该弹出窗口并重定向到原始窗口。
我正在使用我的自定义 oAuth,但我想像 Facebook 登录一样使用它
我正在使用 sencha touch,当我使用window.open
新的全屏窗口打开窗口并成功登录时,重定向页面仅在新的弹出窗口中打开。
我想显示一个弹出窗口,如 facebook 登录,成功登录后,我想关闭该弹出窗口并重定向到原始窗口。
我正在使用我的自定义 oAuth,但我想像 Facebook 登录一样使用它
我正在使用 sencha touch,当我使用window.open
新的全屏窗口打开窗口并成功登录时,重定向页面仅在新的弹出窗口中打开。
为什么不使用带有 iframe 的浮动容器之类的东西
Ext.define('MyApp.view.oAuthContainer', {
extend: 'Ext.Container',
config: {
centered: true,
height: 300,
width: 400,
hideOnMaskTap: false,
modal: true,
html: '<iframe src="https://myOAuthLoginService onLoad="MyApp.app.getController("MyController").myMethodToHandleAniFrameRedirect(this);"></iframe>"',
items: [{
xtype: 'toolbar',
docked: 'top',
items: [{
xtype: 'spacer'
}, {
xtype: 'button',
handler: function(button, event) {
button.up("container").hide({type: 'fade', out: true});
},
iconCls: 'delete'
}]
}]
}
});
Then all you would have to do is create a controller called MyController with a method called myMethodToHandleAniFrameRedirect(iframe) to handle the iframe redirect upon successful oauth login. You can grab the url from the iframe object in the method to make sure that authentication was successful.