Rails 3 の Devise gem で oauthable モジュールを正確に使用する方法を探していました。ここで正しいと思われるいくつかの質問に出くわしましたが、実装を機能させることができませんでした。私の最終目標は、Rails 3 アプリケーションで Devise を介して Twitter と Facebook の両方の認証を行うことです。今、ワーデン戦略リストの「例」だと思っていたものに苦労しています。私はここまで来ました。
私のデバイス初期化子の内部には、次のコードブロックが適切な場所にあると私は信じています。
manager.oauth(:twitter) do |twitter|
twitter.consumer_secret = '[secret]'
twitter.consumer_key = '[key]'
twitter.options :site => 'http://twitter.com'
end
manager.default_strategies(:scope => :user).unshift :twitter_oauth
Warden::OAuth::access_token_user_finder(:twitter) do |access_token|
User.find_or_create_by(:token => access_token.token, :secret => access_token.secret).tap do |user|
user ||= User.create!(:access_token => access_token.token, :secret => access_token.secret)
end
end
ビューの 1 つにリンクを配置しましたが、OAuth 401 Unauthorized というエラーだけが表示されます。これは Twitter からのものですか、それとも手順が完全に欠落していますか?