J'ai une application Ruby on Rails qui fonctionne très bien sur mon ordinateur et sur mon serveur. Je déplace cette application vers un autre serveur qui fonctionne sur un autre service d'hébergement, et j'ai eu un problème lié à l'OAuth Ruby Gem.Ruby on Rails L'application OAuth fonctionne sur le client mais pas sur le serveur (OAuth :: Unauthorized (401 Unauthorized))
Toute demande Je n'utilisant gem OAuth, je reçois:
OAuth::Unauthorized (401 Unauthorized):
oauth (0.4.3) lib/oauth/consumer.rb:217:in `token_request'
oauth (0.4.3) lib/oauth/consumer.rb:139:in `get_request_token'
...
Mon code est:
def self.consumer
# The readkey and readsecret below are the values you get during registration
OAuth::Consumer.new("XXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "YYYYYYYYYYYYYYYYYYYYYYYYYYYY", {:site => "http://api.twitter.com"})
end
def create_authorize_url
@request_token = UserController.consumer.get_request_token(:oauth_callback => "http://mysite.com/callback")
session[:request_token] = @request_token.token
session[:request_token_secret] = @request_token.secret
redirect_to @request_token.authorize_url
end
Le problème est que le même code fonctionne bien sur mon ordinateur et dans un autre serveur. Cela n'arrive que sur un serveur. Y a-t-il quelque chose en rapport avec le pare-feu ou quelque chose qui peut bloquer les appels OAuth?
J'ai beaucoup cherché cette erreur et je n'ai pas eu de réponse, et c'est pourquoi je demande ceci ici.
Merci.
La réponse de l'API de Twitter est "Impossible de valider la signature et le jeton oauth". Le problème semble être dans la génération de la requête HTTP. Une idée, les gens? Merci. –
Avez-vous regardé cet article: http://blainegarrett.com/2009/07/14/failed-to-validate-oauth-signature-and-token-on-twitter-oauth-check-your-cloc/ * tl ; dr * vos signatures seront erronées si votre horloge est loin de celle de Twitter. – BaroqueBobcat