手动流程 Facebook 登录错误:请尝试关闭并重新打开浏览器

Dan*_*Dan 5 facebook oauth-2.0 facebook-login

我正在用 Go 构建一个应用程序并允许用户使用 Facebook 登录。我已尽可能仔细地按照说明进行操作,但在将用户重定向到 Facebook 后,我收到一个错误页面,内容为:“抱歉,出了点问题:请尝试关闭并重新打开浏览器窗口。” 就这样。

如果我刷新显示在错误消息顶部的 URL,它会成功重定向到我的应用程序,提供代码,我可以用代码交换令牌。

唯一被破坏的是,不是我将用户重定向到 Facebook 并返回的流畅用户流程,而是用户卡在错误页面上,除非他们想刷新。

我看过一堆帖子说 Facebook 对状态参数非常敏感,但我使用的是普通的字母数字(没有特殊字符),刷新后我成功取回了它。

我在 FB 中看到的显示错误的 URL 如下所示:

https://www.facebook.com/dialog/oauth?client_id=<myAppId>&redirect_uri=https%3A%2F%2F<hostname>%2Ffbcallback&response_type=code&scope=public_profile&state=<18 character string>
Run Code Online (Sandbox Code Playgroud)

我已检查 URI 是否已连接到 Facebook 开发人员页面中的应用程序配置文件。有什么线索吗?我不知道这个错误是什么意思。

一个发现 - 如果我在当前未登录 Facebook 的隐身窗口中尝试我的流程,则一切正常。如果我然后尝试再次登录我的应用程序,那是我看到错误的时候。我没有在我的应用程序中设置任何 cookie,但这里似乎有一些联系。