Module: Devise::MultiAuth::CaptureSuccessfulExternalAuthentication

Defined in:
app/services/devise/multi_auth/capture_successful_external_authentication.rb

Class Method Summary collapse

Class Method Details

.call(user, auth = {}) ⇒ Object



4
5
6
7
8
9
10
11
# File 'app/services/devise/multi_auth/capture_successful_external_authentication.rb', line 4

def call(user, auth = {})
  return true unless auth.present?
  where_conditions = { user: user, provider: auth.fetch(:provider), uid: auth.fetch(:uid) }
  object = Authentication.where(where_conditions).first_or_initialize
  object.access_token = auth.fetch(:credentials)[:token]
  object.refresh_token = auth.fetch(:credentials)[:refresh_token]
  object.save!
end