Gitkit - popupMode 和 signInSuccess 回调不能很好地协同工作

Gitkit - popupMode and signInSuccess callback do not work well together

我在我的登录页面上使用 popupMode: true,并且在我的 Widget 页面上有一个 signInSuccess 回调函数:

var config = { 
    ...
    callbacks: {
        signInSuccess: function(tokenString, accountInfo,
            opt_signInSuccessUrl) {
            console.log(JSON.stringify(accountInfo));                
            return true;
        }
    },
    ...
}

我的函数被调用,并且用户在原始 window 中登录,但是小部件弹出窗口 window 没有关闭。

这是缺陷还是我遗漏了什么?

是的,当提供 signInSuccess 时,此行为已针对弹出窗口进行了更改。旧行为存在问题。这里的想法是,当提供回调时,开发人员希望自己处理它。当没有提供回调时,页面仍然会自动关闭。在您的情况下,您需要手动关闭。 您可以在 return true:

之前添加此代码段
if (window.opener) {
  window.close();
}