我有一个 Ruby on Rails 应用程序,它在我的计算机和服务器中运行良好。我正在将此应用程序移动到在另一个托管服务上运行的另一个服务器上,并且遇到了与 OAuth Ruby Gem 相关的问题。
我使用 OAuth gem 所做的任何请求,我都会得到:
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'
...
我的代码是:
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
问题是相同的代码在我的计算机和其他服务器上运行良好。这只发生在一台服务器上。有什么与防火墙相关的东西或可以阻止 OAuth 调用的东西吗?
我搜索了很多这个错误,但没有得到任何答案,这就是我在这里问这个的原因。
谢谢。