Module: Nyauth::SessionConcern
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/controllers/concerns/nyauth/session_concern.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
- #current_authenticated ⇒ Object
-
#require_authentication!(options = {}) ⇒ Object
ex.) before_action -> { require_authentication! as: :user }, only: :secret_action.
-
#sign_in(client) ⇒ Object
ex.) sign_in(client).
-
#sign_out ⇒ Object
ex.) sign_out.
-
#signed_in?(options = {}) ⇒ Boolean
ex.) signed_in?(as: :user).
- #store_signed_in_session(client) ⇒ Object
Instance Method Details
#current_authenticated ⇒ Object
41 42 43 44 45 |
# File 'app/controllers/concerns/nyauth/session_concern.rb', line 41 def current_authenticated return nil unless session_value = session[signed_in_session_key] klass_name, client_id = Nyauth::Encryptor.decrypt(session_value).split(':') klass_name.constantize.find(client_id) end |
#require_authentication!(options = {}) ⇒ Object
ex.) before_action -> { require_authentication! as: :user }, only: :secret_action
34 35 36 37 38 39 |
# File 'app/controllers/concerns/nyauth/session_concern.rb', line 34 def require_authentication!( = {}) .reverse_merge!(as: :user) return if self.class.allow_actions == :all return if self.class.allow_actions.present? && request[:action].to_sym.in?(self.class.allow_actions) head :unauthorized unless signed_in?() end |
#sign_in(client) ⇒ Object
ex.) sign_in(client)
14 15 16 17 |
# File 'app/controllers/concerns/nyauth/session_concern.rb', line 14 def sign_in(client) return unless client store_signed_in_session(client) end |
#sign_out ⇒ Object
ex.) sign_out
28 29 30 |
# File 'app/controllers/concerns/nyauth/session_concern.rb', line 28 def sign_out reset_session end |
#signed_in?(options = {}) ⇒ Boolean
ex.) signed_in?(as: :user)
21 22 23 24 |
# File 'app/controllers/concerns/nyauth/session_concern.rb', line 21 def signed_in?( = {}) .reverse_merge!(as: :user) session[signed_in_session_key].present? end |
#store_signed_in_session(client) ⇒ Object
47 48 49 |
# File 'app/controllers/concerns/nyauth/session_concern.rb', line 47 def store_signed_in_session(client) session[signed_in_session_key] = signed_in_session_object(client) end |