"验证客户端密钥时出错." 404与Facebook Oauth和ruby

Mac*_*rio 10 ruby facebook oauth-2.0

在用户允许使用facebook auth并使用令牌重定向到我的应用程序回调之后,我正在尝试使用warden为应用程序实现facebook身份验证,同时消耗api.我的监狱长策略如下:

class Facebook < Warden::Strategies::Base
  def client
    @client ||= OAuth2::Client.new MyApp::Facebook::AppID, MyApp::Facebook::AppSecret, :site => 'https://graph.facebook.com'
  end

  def params
    @params ||= Rack::Utils.parse_query(request.query_string)
  end

  def authorize_url
    client.web_server.authorize_url :redirect_uri => request.url, :scope => 'email,publish_stream'
  end

  def authenticate!
    throw(:halt, [302, {'Location' => authorize_url}, []]) unless params['code']
    facebook = client.web_server.get_access_token params['code'], :redirect_uri => request.url
  rescue OAuth2::HTTPError => e
    puts e.response.body
  end
end

Strategies.add :facebook, Facebook
Run Code Online (Sandbox Code Playgroud)

打印响应体的结果是:

{"error":{"type":"OAuthException","message":"Error validating client secret."}}
Run Code Online (Sandbox Code Playgroud)

我非常感觉应用程序ID和应用程序秘密是由FB提供的.

谢谢.

Jer*_* C. 23

我多次看到这个错误信息.以下是我要仔细检查的事情:

  • 您的域名与您在facebook回调网址中列出的域名相同
  • 应用程序ID是正确的(实际上在页面上打印出来,有时是y
  • 应用秘密是正确的

  • 对我来说,它是从我的配置文件中使用错误的变量名: - / (2认同)