Module: DceLti::SessionHelpers
- Included in:
- SessionsController
- Defined in:
- app/concerns/dce_lti/session_helpers.rb
Instance Method Summary collapse
- #captured_attributes_from(tool_provider) ⇒ Object
- #consumer_key ⇒ Object
- #consumer_secret ⇒ Object
- #find_from_config(attribute) ⇒ Object
- #launch_params ⇒ Object
- #redirect_after_successful_auth ⇒ Object
- #tool_provider ⇒ Object
- #valid_lti_request?(request) ⇒ Boolean
Instance Method Details
#captured_attributes_from(tool_provider) ⇒ Object
40 41 42 43 44 |
# File 'app/concerns/dce_lti/session_helpers.rb', line 40 def captured_attributes_from(tool_provider) Engine.config.copy_launch_attributes_to_session.inject({}) do |attributes, att| attributes.merge(att => tool_provider.send(att)) end end |
#consumer_key ⇒ Object
13 14 15 |
# File 'app/concerns/dce_lti/session_helpers.rb', line 13 def consumer_key find_from_config(:consumer_key) end |
#consumer_secret ⇒ Object
17 18 19 |
# File 'app/concerns/dce_lti/session_helpers.rb', line 17 def consumer_secret find_from_config(:consumer_secret) end |
#find_from_config(attribute) ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'app/concerns/dce_lti/session_helpers.rb', line 21 def find_from_config(attribute) value = Engine.config.send(attribute) if value.respond_to?(:call) value.call(launch_params) else value end end |
#launch_params ⇒ Object
9 10 11 |
# File 'app/concerns/dce_lti/session_helpers.rb', line 9 def launch_params params.reject{ |k,v| ['controller','action'].include? k } end |
#redirect_after_successful_auth ⇒ Object
30 31 32 |
# File 'app/concerns/dce_lti/session_helpers.rb', line 30 def redirect_after_successful_auth Engine.config.redirect_after_successful_auth.call(self) end |
#tool_provider ⇒ Object
34 35 36 37 38 |
# File 'app/concerns/dce_lti/session_helpers.rb', line 34 def tool_provider @tool_provider ||= IMS::LTI::ToolProvider.new( consumer_key, consumer_secret, launch_params ) end |
#valid_lti_request?(request) ⇒ Boolean
3 4 5 6 7 |
# File 'app/concerns/dce_lti/session_helpers.rb', line 3 def valid_lti_request?(request) tool_provider.valid_request?(request) && Nonce.valid?(tool_provider.oauth_nonce) && TimestampValidator.valid?(tool_provider.) end |