【问题标题】:Closing OAuth 2.0 popup window after redirect重定向后关闭 OAuth 2.0 弹出窗口
【发布时间】:2012-01-08 17:19:09
【问题描述】:

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

提前感谢您的帮助。

【问题讨论】:

    标签: oauth oauth-2.0


    【解决方案1】:

    我认为你可以关闭弹出窗口

    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);
    });
    

    Opener ( 主窗口 ) 每次只检查弹出窗口是否仍然存在以及 win.close 是否返回 true - 主窗口重新加载

    希望对大家有所帮助

    【讨论】:

    • 在我的情况下不起作用 win.close 永远不会改变状态。解决方案是使用 win.name 属性。
    【解决方案2】:

    所以 IDK 如果这对任何人都有帮助,但不是刷新页面,您可能希望检查您的服务器以查看用户是否通过重复发生的超时连接,然后在他们完成后使用 .close() .此处的另一个好处是您现在将拥有继续注册过程所需的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-30
      • 2015-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多