module CanvasInteractor::CanvasApplication
Protected Instance Methods
canvas()
click to toggle source
# File lib/canvas_interactor/canvas_application.rb, line 21 def canvas @canvas || initialize_canvas end
canvas_token()
click to toggle source
# File lib/canvas_interactor/canvas_application.rb, line 25 def canvas_token ::CanvasInteractor::Authorization.fetch_token(user_id, tool_consumer_instance_guid) end
canvas_url()
click to toggle source
these next three methods rely on external session data and either need to be overridden or the session data needs to be set up by the time the oauth filter runs (like with the lti_provider_engine)
# File lib/canvas_interactor/canvas_application.rb, line 53 def canvas_url session[:canvas_url] end
initialize_canvas()
click to toggle source
# File lib/canvas_interactor/canvas_application.rb, line 17 def initialize_canvas @canvas = ::CanvasInteractor::CanvasApiExtensions.build(canvas_url, user_id, tool_consumer_instance_guid) end
not_acceptable()
click to toggle source
# File lib/canvas_interactor/canvas_application.rb, line 36 def not_acceptable render text: "Unable to process request", status: 406 end
reauthenticate()
click to toggle source
# File lib/canvas_interactor/canvas_application.rb, line 44 def reauthenticate ::CanvasInteractor::Authorization.clear_tokens(user_id, tool_consumer_instance_guid) request_canvas_authentication end
request_canvas_authentication()
click to toggle source
# File lib/canvas_interactor/canvas_application.rb, line 29 def request_canvas_authentication if !params[:code].present? && !canvas_token.present? session[:oauth2_state] = SecureRandom.urlsafe_base64(24) redirect_to canvas.auth_url(canvas_interactor_url, session[:oauth2_state]) end end
tool_consumer_instance_guid()
click to toggle source
# File lib/canvas_interactor/canvas_application.rb, line 61 def tool_consumer_instance_guid session[:tool_consumer_instance_guid] end
user_id()
click to toggle source
# File lib/canvas_interactor/canvas_application.rb, line 57 def user_id session[:user_id] end