我正在开发一个使用 account-facebook 包的 Meteor 应用程序。该软件包非常适合我在美国开设的 Facebook 帐户。我在德国创建了另一个 Facebook 帐户,并尝试使用德国帐户从其他浏览器登录该应用程序,且不存在任何 cookie。
我单击“使用 Facebook 登录”按钮并获取登录 Facebook 的页面。之后,我收到一个带有“关闭”按钮的内部服务器错误弹出窗口。该应用程序无法登录。
我在控制台中收到的错误如下:
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 token 和 secret ,它们与应有的内容完全匹配。正如我之前所说,我可以使用我在美国创建的另一个 Facebook 帐户登录,但不能使用在德国创建的帐户登录。
Facebook 的欧洲帐户 OAuth 系统是否可能存在差异,或者这是软件包中的一些奇怪的错误?有谁知道如何解决这个问题,因为我希望所有国家的用户都使用 Facebook 登录?
最佳答案
我遇到了完全相同的问题,结果发现我的 Facebook 应用程序启用了“沙盒模式”!确保您的 Facebook 应用配置中已禁用沙盒模式并且它应该可以正常工作。
关于javascript - Meteor.js 帐户-facebook 允许美国 facebook 帐户但不允许德国 OAuth 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19271317/