gemが処理する「loginwithtwitter」リンクを提供して/auth/twitter
います。omniauth
私の開発マシンでは、これは正常に機能しているようで、Twitterログインページにリダイレクトされ、dev.twitter.com(http://127.0.0.1:3000/auth/twitter/callback)でアプリケーションに設定されたコールバックに戻ります。
テスト実稼働サーバーに別のアプリケーションを登録していますが、異なるのはアクセストークン、シークレット、コールバックだけです。/auth/twitter
本番サーバーのパスにアクセスすると、次のようになります。
OAuth::Unauthorized (401 Unauthorized):
oauth (0.4.6) lib/oauth/consumer.rb:216:in `token_request'
oauth (0.4.6) lib/oauth/consumer.rb:136:in `get_request_token'
...
に設定されているログに使用されているものを印刷することにより、サーバーが実際に開発キー/シークレットを使用していることを確認しました/config/initializers/omniauth.rb
。それらはTwitterページで指定されたものと一致し、登録されたコールバックは有効なアドレスであり、本番サーバーを指します。
ここで何が間違っている可能性がありますか?これはレート制限の結果でしょうか?
Gemfileは次のとおりです。
source 'https://rubygems.org'
gem 'rails', '3.2.3'
gem 'mysql2','0.3.11'
gem 'tweetstream'
gem 'koala'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'twitter-bootstrap-rails'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
gem 'twitter'
gem 'omniauth-twitter'
gem 'omniauth-facebook'
gem 'thin'
/config/initializers/omniauth.rb:
puts "initializing twitter with #{TWITTER_KEY}, #{TWITTER_SECRET}"
Rails.application.config.middleware.use OmniAuth::Builder do
provider :twitter, TWITTER_KEY, TWITTER_SECRET
provider :facebook, FACEBOOK_KEY, FACEBOOK_SECRET,
:scope => 'read_stream,publish_stream'
end
サーバーは、ここの最初の行に正しいキーとシークレットを記録します。