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
unauthorized_canvas_access() click to toggle source
# File lib/canvas_interactor/canvas_application.rb, line 40
def unauthorized_canvas_access
  render text: "Your Canvas Developer Key is not authorized to access this data.", status: 401
end
user_id() click to toggle source
# File lib/canvas_interactor/canvas_application.rb, line 57
def user_id
  session[:user_id]
end