2015-09-21 1 views
0

J'ai configuré + omniauth comme legs documentés sur le wiki omniauth: https://github.com/intridea/omniauth/wiki/Setup-Phasemultiples applications Twitter avec omniauth

Mon initialiseur:

provider :twitter, nil, nil, setup: true 

routes.rb:

get '/settings/auth/:provider/setup' => 'settings/authorization_callbacks#setup' 

C'est le action d'installation

def setup 
    application_id = params[:application_id].present? ? params[:application_id] : request.env["rack.session"]["omniauth.params"]["application_id"] 
    application = Application.find(application_id) 
    request.env['omniauth.strategy'].options[:client_id] = application.identifier 
    request.env['omniauth.strategy'].options[:client_secret] = application.secret 
    render :text => "Setup complete.", :status => 404 
end 

Le résultat est 400 Bad Request et je n'ai aucune idée de pourquoi ... J'ai vérifié et la bonne application est appelée, définissant les bonnes valeurs dans la "omniauth.strategy".

Peut-être que quelqu'un qui a déjà implémenté cela peut deviner quel est le problème avec mon code? Merci d'avance.

Répondre

0

C'était un bug dans omniauth-twitter gem.

Les clés à définir pour Twitter sont

request.env['omniauth.strategy'].options[:consumer_key] = application.identifier 
request.env['omniauth.strategy'].options[:consumer_secret] = application.secret 

https://github.com/arunagw/omniauth-twitter/issues/100