Estoy tratando de implementar la autenticación de Facebook para una aplicación con warden, después de que el usuario permite facebook auth y redirige a mi aplicación de devolución de llamada con el token obtengo un 400 mientras consumo la API. Mi estrategia Warden es la siguiente:"Error al validar el secreto del cliente". 404 con Facebook Oauth y ruby
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
El resultado de la impresión del cuerpo de la respuesta es la siguiente:
{"error":{"type":"OAuthException","message":"Error validating client secret."}}
estoy bastante Shure el ID de aplicación y secreta aplicación son los proporcionados por FB.
Gracias.
Para mí, estaba usando un nombre de variable incorrecto de mi archivo de configuración: - / –