2010-10-16 6 views
3

J'ai cherché à comprendre comment utiliser exactement le module oauthable dans la gemme Devise pour Rails 3. J'ai rencontré quelques questions ici qui semblent correctes, mais je ne pouvais pas faire fonctionner la mise en œuvre. Mon objectif final est d'avoir une authentification Twitter et Facebook via l'application Devise in my Rails 3. En ce moment, je me bats avec ce que je pensais être «l'exemple» dans la liste des stratégies des gardiens. Je suis arrivé jusqu'ici.Rails Twitter Stratégie OAuth avec Devise

À l'intérieur de mon initalizer, j'ai les blocs de code suivants dans, ce que je crois, les endroits appropriés.

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 

J'ai placé un lien sur un de mes vues, mais tout ce que je reçois est une erreur, OAuth 401 non autorisé, est-ce quelque chose de Twitter ou suis-je complètement manquer une étape?

Répondre

11

Avez-vous vu OmniAuth pour Twitter, FB et d'autres intégration d'authentification de réseau social dans l'invention? Le last tworailscast episodes montre une intégration.

OmniSocial est une autre solution construite sur le dessus des deux.

+0

Monsieur, venez de faire ma journée. –

+0

Content de pouvoir aider! Je suis relativement nouveau dans le développement de Rails, mais les screencasts de Ryan sont une mine d'or et semblent surgir chaque fois que je veux faire quelque chose de nouveau. –