Twitter Oauth问题

时间:2010-05-22 14:42:00

标签: ruby-on-rails ruby authentication twitter oauth

我在这里使用了一些不同的宝石(Devise,Warden,Warden_Oauth),但我认为你可以回答这个问题而不必熟悉它们。我正在尝试执行Twitter Oauth策略,其中应用程序首先通过access_token和access_secret查找用户,然后如果找不到,则创建新用户。我无法弄清楚如何创建新用户/我应该在这个块中的位置。

  config.warden do |manager|

      manager.oauth(:twitter) do |twitter|
         twitter.consumer_secret = "<secret>"
         twitter.consumer_key  = "<key>"
         twitter.options :site => 'http://twitter.com'
      end

      Warden::OAuth.access_token_user_finder(:twitter) do |access_token|
         User.find_by_access_token_and_access_secret(access_token.token, access_token.secret)
      end

      manager.default_strategies.unshift :twitter_oauth
end

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

从未与Warden合作,但是从与其他人的exp合作,我想它应该看起来像这样

Warden::OAuth.access_token_user_finder(:twitter) do |access_token|
   user = User.find_by_access_token_and_access_secret(access_token.token, access_token.secret)
   user ||= User.create(:access_token => access_token.token, :secret => access_token.secret)
   end
end