Skip to content

Instantly share code, notes, and snippets.

@drKreso
Created November 3, 2018 09:34
Show Gist options
  • Select an option

  • Save drKreso/e21294e7e945c6114c367b56016b7bae to your computer and use it in GitHub Desktop.

Select an option

Save drKreso/e21294e7e945c6114c367b56016b7bae to your computer and use it in GitHub Desktop.
new sessin
# app/models/user.rb
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"] if user.email.blank?
end
end
end
def self.from_omniauth(auth)
user = User.find_by('email = ?', auth['info']['email'])
if user.blank?
user = User.new(
{
provider: auth.provider,
uid: auth.uid,
email: auth.info.email,
password: Devise.friendly_token[0,20]
}
)
user.save!
end
user
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment