Я пытаюсь добавить Facebook connect в наше веб-приложение, и у меня возникла проблема с. Все отлично работает локально (я могу аутентифицироваться через Facebook), но когда я отправляю код на наш сервер разработки (который живет в дикой природе), каждый раз, когда я пытаюсь аутентифицироваться, он возвращает следующий код ошибки:
OAuth2::HTTPError: Received HTTP 400 during request
Это действительно единственное объяснение, которое я получаю. Опять же, это работает на моей локальной машине, и самоцветы и такие соответствия между коробками, так что я немного запутался. Вот код, который я выполняю.
def facebook_connect
#Set the scope we want to pull from Facebook, along with the callback URL
options = {
:redirect_uri => facebook_callback_url,
:scope => "email,publish_stream"
}
#Go out and fetch the url
client = OAuth2::Client.new(FACEBOOK_API_KEY, FACEBOOK_SECRET, {:site => FACEBOOK_API_URL, :access_token_method => :post})
#Redirect to the callback for processing
redirect_to client.web_server.authorize_url(options)
end
def facebook_callback
#Client URL
client = OAuth2::Client.new(FACEBOOK_API_KEY, FACEBOOK_SECRET, {:site => FACEBOOK_API_URL, :access_token_method => :post})
#Parse out the access token
access_token = client.web_server.get_access_token(params[:code], :redirect_uri => facebook_callback_url)
#Get the user
fb_user = JSON.parse(access_token.get('/me'))
#Do some authentication database stuff
end
def facebook_callback_url
uri = URI.parse(request.url)
uri.path = '/users/facebook_callback'
uri.query = nil
uri.to_s
end
Я искал в Google, но обнаруженные решения не работают. Кроме того, если кто-то знает, как анализировать и отображать ошибки OAuth2, я также был бы признателен за это. Спасибо