2

我正在开发一个使用 accounts-facebook 包的 Meteor 应用程序。该软件包非常适合我在美国开设的 Facebook 帐户。我在德国创建了另一个 Facebook 帐户,并尝试使用该德国帐户从另一个没有 cookie 的浏览器登录应用程序。

我单击“使用 Facebook 登录”按钮并获取登录 facebook 的页面。之后,我得到一个带有 Dismiss 按钮的 Internal Server 错误弹出窗口。该应用程序未登录。

我在控制台中得到的错误如下:

I202309-13:49:31.607(2)? Exception while invoking method 'login' Error: Failed to complete OAuth handshake with Facebook. failed [400] {"error":{"message":"Invalid verification code format.","type":"OAuthException","code":100}}
I202309-13:49:31.607(2)?     at getTokenResponse (packages/facebook/facebook_server.js:62)
I202309-13:49:31.608(2)?     at Object.isJSON [as handleOauthRequest] (packages/facebook/facebook_server.js:8)
I202309-13:49:31.608(2)?     at Oauth._requestHandlers.(anonymous function) (packages/oauth2/oauth2_server.js:9)
I202309-13:49:31.608(2)?     at middleware (packages/oauth/oauth_server.js:105)
I202309-13:49:31.608(2)?     at service (packages/oauth/oauth_server.js:78)

我仔细检查了我的 Facebook 令牌和秘密,它们与它们应该是完全匹配的。就像我之前说的,我可以使用我在美国创建的另一个 Facebook 帐户登录,但不能使用在德国创建的帐户登录。

Facebook 的欧洲账户 OAuth 系统是否可能存在差异,或者这是软件包中的一些奇怪的错误?有没有人知道如何解决这个问题,因为我希望所有国家的用户都使用 facebook 登录?

4

2 回答 2

2

我遇到了完全相同的问题,结果发现我的 Facebook 应用程序启用了“沙盒模式”!确保在您的 Facebook 应用配置中禁用沙盒模式并且它应该可以工作。

于 2013-10-13T01:15:32.227 回答
1

同样的问题。您必须在 facebook 上配置您的应用程序以供公众使用。

[您的应用] -> 状态和评论 - 您想让这个应用及其所有实时功能向公众开放吗?(是的)

于 2015-01-27T01:07:36.520 回答