Module: Devise::MultiAuth

Defined in:
lib/devise/multi_auth/version.rb,
app/models/devise/multi_auth/authentication.rb,
lib/generators/devise/multi_auth/install/install_generator.rb,
app/controllers/devise/multi_auth/authentications_controller.rb,
app/services/devise/multi_auth/capture_successful_external_authentication.rb,
lib/devise/multi_auth/engine.rb,
lib/devise/multi_auth.rb

Defined Under Namespace

Classes: Authentication, AuthenticationsController, CaptureSuccessfulExternalAuthentication, Engine, InstallGenerator

Constant Summary collapse

VERSION =
"0.0.5"

Class Method Summary collapse

Class Method Details

.capture_successful_external_authentication(user, auth, config = {}) ⇒ Object



6
7
8
9
# File 'lib/devise/multi_auth.rb', line 6

def capture_successful_external_authentication(user, auth, config = {})
  service = config.fetch(:service) { CaptureSuccessfulExternalAuthentication }
  service.call(user, auth)
end

.oauth_client_for(provider_name, config = {}) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/devise/multi_auth.rb', line 11

def oauth_client_for(provider_name, config = {})
  default_args = Devise.omniauth_configs.fetch(provider_name.to_sym).args.dup
  default_options = default_args.extract_options!
  options = config.fetch(:options) { default_options[:client_options] || {} }
  client_id = config.fetch(:client_id) { default_args[0] }
  secret = config.fetch(:secret) { default_args[1] }
  OAuth2::Client.new(client_id, secret, options)
end