omniauth-facebook问题“Invalid_Credentials”

omniauth-facebook问题“Invalid_Credentials”

问题描述:

我有一个很奇怪的问题,但只在生产服务器上。omniauth-facebook问题“Invalid_Credentials”

我在我的Gemfile中使用了这个Gem。

gem "omniauth-facebook", "~> 1.4.1" 

但是突然开始在生产中出现以下错误,在当地工作正常。

heroku[router]: at=info method=GET path=/auth/failure?message=invalid_credentials&strategy=facebook host=www.myapp.com fwd="182.189.55.111" dyno=web.1 queue=0 wait=0ms connect=1ms service=90ms status=302 bytes=95 

搜查各地不同的论坛和人说,一个临时的解决方案只是恢复到1.4.0版本,即

gem "omniauth-facebook", "1.4.0" 

它也可以在当地正常,但开始变得在生产其他错误消息。

OmniAuth::Strategies::Facebook::NoAuthorizationCodeError (must pass either a `code` parameter or a signed request (via `signed_request` parameter or a `fbsr_XXX` cookie)): 

this链接说再次升级到此版本1.4.1

好像一个被死锁/这里循环的局面。任何人都可以面对/解决这个问题吗?

在此先感谢。

我假设你使用JS SDK登录?也许你的代码看起来是这样的:

if (response.authResponse) { 
    var url = "/auth/facebook/callback"; 
    window.location = url; 
} 

我不知道为什么签名的请求没有被自动地传递下去,但我发现这个解决方法,以优良的工作:

if (response.authResponse) { 
    var url = "/auth/facebook/callback"; 
    url += '&' + $.param({ signed_request: response.authResponse.signedRequest }); 
    window.location = url; 
}