Module: Sorcery::Model::Submodules::External
- Defined in:
- lib/sorcery/model/submodules/external.rb
Overview
This submodule helps you login users from external providers such as Twitter. This is the model part which handles finding the user using access tokens. For the controller options see Sorcery::Controller::External.
Socery assumes (read: requires) you will create external users in the same table where you keep your regular users, but that you will have a separate table for keeping their external authentication data, and that that separate table has a few rows for each user, facebook and twitter for example (a one-to-many relationship).
External users will have a null crypted_password field, since we do not hold their password. They will not be sent activation emails on creation.
Defined Under Namespace
Modules: ClassMethods, InstanceMethods
Class Method Summary collapse
Class Method Details
.included(base) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/sorcery/model/submodules/external.rb', line 17 def self.included(base) base.sorcery_config.class_eval do attr_accessor :authentications_class, :authentications_user_id_attribute_name, :provider_attribute_name, :provider_uid_attribute_name end base.sorcery_config.instance_eval do @defaults.merge!(:@authentications_class => nil, :@authentications_user_id_attribute_name => :user_id, :@provider_attribute_name => :provider, :@provider_uid_attribute_name => :uid) reset! end base.send(:include, InstanceMethods) base.extend(ClassMethods) end |