Estoy tratando de implementar una función de inicio de sesión con Facebook en mi sitio, y golpear una barricada tratando de obtener el token de acceso de Facebook. Aquí está mi código:Rails EOF Error al usar HTTP.get_response para recuperar el token de acceso de Facebook
if params[:error_reason] == "user_denied" then
flash[:error] = "To login with Facebook, you must click 'Allow' to let the site access your information"
redirect_to :login
elsif params[:code] then
token_uri = URI.parse("https://graph.facebook.com/oauth/access_token?client_id=****************&redirect_uri=http://localhost:3000/auth/fblogin&client_secret=***************&code="+URI.escape(params[:code]))
response = Net::HTTP.get_response(token_uri)
session[:response] = response
data = ActiveSupport::JSON.decode(response)
access_token = data[:access_token]
flash[:error] = access_token
redirect_to :register
end
Esto está dentro de una función fblogin
controlador que es el objetivo de la redirección inicial para obtener un código de autorización (el params[:code]
).
Pero cuando corro a través de este, me sale el siguiente error:
EOFError in AuthController#fblogin
en la línea Net::HTTP.get_response(token_uri)
. Lo busqué por todas partes, y no puedo encontrar nada que indique lo que esto significa. ¿Podrían ser los caracteres oscuros que Facebook usa en sus tokens de acceso? ¡Estoy totalmente perdido!
¿Es este Ruby 1.9? Si es así, debe configurar manualmente un archivo CRT que contenga certificados de CA de confianza, consulte http://martinottenwaelter.fr/2010/12/ruby19-and-the-ssl-error/ –