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

Luk*_*ren 23 oauth oauth-2.0

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

在此先感谢您的帮助.

Mak*_*sym 33

我想你可以靠近弹出窗口

parent.close();
Run Code Online (Sandbox Code Playgroud)

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

$(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);
});
Run Code Online (Sandbox Code Playgroud)

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

希望它会对某人有所帮助