module Sorcery::Controller::Submodules::External
This submodule helps you login users from external auth providers such as Twitter. This is the controller part which handles the http requests and tokens passed between the app and the @provider.
Attributes
ca_file[RW]
external_providers[R]
Public Class Methods
external_providers=(providers)
click to toggle source
# File lib/sorcery/controller/submodules/external.rb, line 37 def external_providers=(providers) @external_providers = providers providers.each do |name| class_eval <<-RUBY, __FILE__, __LINE__ + 1 def self.#{name} @#{name} ||= Sorcery::Providers.const_get('#{name}'.to_s.classify).new end RUBY end end
included(base)
click to toggle source
# File lib/sorcery/controller/submodules/external.rb, line 7 def self.included(base) base.send(:include, InstanceMethods) require 'sorcery/providers/base' require 'sorcery/providers/facebook' require 'sorcery/providers/twitter' require 'sorcery/providers/vk' require 'sorcery/providers/linkedin' require 'sorcery/providers/liveid' require 'sorcery/providers/xing' require 'sorcery/providers/github' require 'sorcery/providers/heroku' require 'sorcery/providers/google' require 'sorcery/providers/jira' require 'sorcery/providers/salesforce' require 'sorcery/providers/paypal' require 'sorcery/providers/slack' require 'sorcery/providers/wechat' require 'sorcery/providers/microsoft' require 'sorcery/providers/instagram' require 'sorcery/providers/auth0' require 'sorcery/providers/line' require 'sorcery/providers/discord' require 'sorcery/providers/battlenet' Config.module_eval do class << self attr_reader :external_providers attr_accessor :ca_file def external_providers=(providers) @external_providers = providers providers.each do |name| class_eval <<-RUBY, __FILE__, __LINE__ + 1 def self.#{name} @#{name} ||= Sorcery::Providers.const_get('#{name}'.to_s.classify).new end RUBY end end def merge_external_defaults! @defaults.merge!(:@external_providers => [], :@ca_file => File.join(__dir__, '../../protocols/certs/ca-bundle.crt')) end end merge_external_defaults! end end
merge_external_defaults!()
click to toggle source
# File lib/sorcery/controller/submodules/external.rb, line 49 def merge_external_defaults! @defaults.merge!(:@external_providers => [], :@ca_file => File.join(__dir__, '../../protocols/certs/ca-bundle.crt')) end