我想显示一个像facebook登录的弹出窗口,并且在成功登录时我想关闭该弹出窗口并重定向到原始窗口。
我正在使用我的自定义oAuth,但我想像Facebook登录一样使用它
我正在使用sencha touch,当我使用window.open
打开窗口时,会打开一个新的全屏窗口,并且在成功登录时,重定向页面仅在新的弹出窗口中打开。
答案 0 :(得分:0)
为什么不使用带有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'
}]
}]
}
});
然后,您需要做的就是使用名为myMethodToHandleAniFrameRedirect(iframe)的方法创建一个名为MyController的控制器,以便在成功登录oauth后处理iframe重定向。您可以从方法中的iframe对象中获取URL,以确保身份验证成功。