«Ошибка проверки секретности клиента.» 404 с фейсбуком Оут и рубином - PullRequest
9 голосов
/ 21 января 2011

Я пытаюсь реализовать проверку подлинности facebook для приложения с помощью warden, после того как пользователь разрешил авторизацию facebook и перенаправляет к моему обратному вызову приложения с токеном, который я получаю 400 при использовании 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

Результат печати тела ответа таков:

{"error":{"type":"OAuthException","message":"Error validating client secret."}}

Я довольно уверен, что идентификатор приложения и секрет приложения - те, что предоставлены FB.

Спасибо.

1 Ответ

23 голосов
/ 18 июля 2012

Я видел это сообщение об ошибке много раз.Вот вещи, которые я бы дважды проверил:

  • ваш домен совпадает с тем, что вы указали в URL обратного вызова Facebook
  • идентификатор приложения правильный (на самом деле распечатайте это настраница, иногда у
  • секрет приложения верен
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...