updates oauth code to handle faulty facebook responses better
This commit is contained in:
@@ -52,7 +52,7 @@ class User < ActiveRecord::Base
|
|||||||
# Get the existing user by email if the provider gives us a verified email.
|
# Get the existing user by email if the provider gives us a verified email.
|
||||||
def self.first_or_initialize_for_oauth(auth)
|
def self.first_or_initialize_for_oauth(auth)
|
||||||
oauth_email = auth.info.email
|
oauth_email = auth.info.email
|
||||||
oauth_email_confirmed = auth.info.verified || auth.info.verified_email
|
oauth_email_confirmed = oauth_email.present? && (auth.info.verified || auth.info.verified_email)
|
||||||
oauth_user = User.find_by(email: oauth_email) if oauth_email_confirmed
|
oauth_user = User.find_by(email: oauth_email) if oauth_email_confirmed
|
||||||
|
|
||||||
oauth_user || User.new(
|
oauth_user || User.new(
|
||||||
|
|||||||
@@ -240,7 +240,7 @@ Devise.setup do |config|
|
|||||||
# up on your models and hooks.
|
# up on your models and hooks.
|
||||||
# config.omniauth :github, 'APP_ID', 'APP_SECRET', scope: 'user,public_repo'
|
# config.omniauth :github, 'APP_ID', 'APP_SECRET', scope: 'user,public_repo'
|
||||||
config.omniauth :twitter, Rails.application.secrets.twitter_key, Rails.application.secrets.twitter_secret
|
config.omniauth :twitter, Rails.application.secrets.twitter_key, Rails.application.secrets.twitter_secret
|
||||||
config.omniauth :facebook, Rails.application.secrets.facebook_key, Rails.application.secrets.facebook_secret, scope: 'email', info_fields: 'email'
|
config.omniauth :facebook, Rails.application.secrets.facebook_key, Rails.application.secrets.facebook_secret, scope: 'email', info_fields: 'email,name,verified'
|
||||||
config.omniauth :google_oauth2, Rails.application.secrets.google_oauth2_key, Rails.application.secrets.google_oauth2_secret
|
config.omniauth :google_oauth2, Rails.application.secrets.google_oauth2_key, Rails.application.secrets.google_oauth2_secret
|
||||||
|
|
||||||
# ==> Warden configuration
|
# ==> Warden configuration
|
||||||
|
|||||||
Reference in New Issue
Block a user