重定向后关闭OAuth 2.0弹出窗口

时间:2011-11-29 10:53:45

标签: oauth oauth-2.0

我在弹出窗口中将用户重定向到OAuth 2.0授权端点。 在OAuth 2.0授权服务器使用授权代码重定向用户后,关闭此弹出窗口并刷新主窗口的最佳方法是什么?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:33)

我认为你可以通过

关闭弹出窗口
parent.close();

对于刷新主窗口,我使用了这个技巧:

$(function() {
    var win;
    var checkConnect;
    var $connect = $("#some_button");
    var oAuthURL = "http://example.com/account/_oauth?redirect_url=" + redirect_url;
    $connect.click(function() {
        win = window.open(oAuthURL, 'SomeAuthentication', 'width=972,height=660,modal=yes,alwaysRaised=yes');
    });

    checkConnect = setInterval(function() {
        if (!win || !win.closed) return;
        clearInterval(checkConnect);
        window.location.reload();
    }, 100);
});

开启者(主窗口)每次只检查弹出窗口是否仍然存在且win.closed是否返回true - 主窗口重新加载

希望它会帮助某人

答案 1 :(得分:0)

因此IDK是否可以帮助任何人,但是您可能不希望刷新页面,而是要检查服务器以查看用户是否通过重复发生的超时连接,然后在之后使用$a他们做到了。这里的另一个好处是您现在将拥有数据以继续进行注册过程。