25 lines
821 B
Ruby
25 lines
821 B
Ruby
class User < ActiveRecord::Base
|
|
# Include default devise modules. Others available are:
|
|
# :confirmable, :lockable, :timeoutable and :omniauthable
|
|
devise :database_authenticatable, :registerable,
|
|
:recoverable, :rememberable, :trackable, :validatable
|
|
devise :omniauthable
|
|
|
|
#->Prelang (user_login/devise)
|
|
def self.find_for_facebook_oauth(auth, signed_in_resource=nil)
|
|
user = User.where(:provider => auth.provider, :uid => auth.uid).first
|
|
|
|
# The User was found in our database
|
|
return user if user
|
|
|
|
# The User was not found and we need to create them
|
|
User.create(name: auth.extra.raw_info.name,
|
|
provider: auth.provider,
|
|
uid: auth.uid,
|
|
email: auth.info.email,
|
|
password: Devise.friendly_token[0,20])
|
|
end
|
|
|
|
|
|
end
|