2010-05-22 6 views
1

J'utilise quelques gemmes différentes ici (Devise, Warden, Warden_Oauth), mais je pense que vous pourriez répondre à cette question sans nécessairement les connaître. J'essaie d'exécuter une stratégie Twitter Oauth, où l'application cherche d'abord un utilisateur par un access_token et un access_secret, et si elle n'en trouve pas, elle crée un nouvel utilisateur. Je ne peux pas comprendre comment créer le nouvel utilisateur/où dans ce bloc je devrais le faire.Twitter Oauth Numéro

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 

Merci pour votre aide.

Répondre

0

N'a jamais travaillé avec le directeur, mais d'exp avec les autres, je pense que ce devrait ressembler à ceci

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