Jeton d'accès de concevoir+omniauth-facebook authentification pour l'utilisation dans les fb-graph

J'ai utilisé concevoir et omniauth-facebook dans mon Rails 3 application pour Facebook authentification, basé sur ce tutoriel: L'ajout de Facebook auth Rails 3.1 application, et c'est vraiment génial de travailler!

Mais maintenant, je veux avoir pleins de Facebook intégration dans mon application, avec qui je peux accès de l'utilisateur, photos, amis, etc., et pour cela, je pense à l'aide de fb_graph. fb_graph nécessite un jeton, et je voulais savoir comment faire pour modifier mon modèle utilisateur pour enregistrer le jeton et l'utiliser dans fb_graph. Toute aide à ce sujet, sera très appréciée.

C'est ainsi que mon modèle d'Utilisateur ressemble maintenant:

class User < ActiveRecord::Base

# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable, :omniauthable

# Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me

  has_many :photos
  has_many :scrapbooks

  def self.find_for_facebook_oauth(access_token, signed_in_resource=nil)
    data = access_token.extra.raw_info
    if user = User.where(:email => data.email).first
      user
    else # Create a user with a stub password.
      User.create!(:email => data.email, :password => Devise.friendly_token[0,20])
    end  
  end

  def self.new_with_session(params, session)
    super.tap do |user|
      if data = session["devise.facebook_data"] && session["devise.facebook_data"]["extra"]["raw_info"]
        user.email = data["email"]
      end
    end
  end
end
Let's voir. Créer Facebook modèle et de les stocker dans la table, mais je ne suis pas sûr que c'est le meilleur moyen. 😛

OriginalL'auteur humairatasnim | 2012-04-08