Sha256: d5c9890b053791130c0854273441757e00ea00e1945f86152af16d92a7bb7f29

Contents?: true

Size: 974 Bytes

Versions: 19

Compression:

Stored size: 974 Bytes

Contents

require_dependency "coalescing_panda/application_controller"

module CoalescingPanda
  class Oauth2Controller < ApplicationController

    def oauth2
    end

    def redirect
      unless params[:error]
        lti_account = LtiAccount.find_by_key(params[:key])
        client_id = lti_account.oauth2_client_id
        client_key = lti_account.oauth2_client_key
        user_id = params[:user_id]
        api_domain = params[:api_domain]
        client = Bearcat::Client.new(prefix: oauth2_protocol+'://'+api_domain)
        token = client.retrieve_token(client_id, coalescing_panda.oauth2_redirect_url, client_key, params['code'])
        CanvasApiAuth.where('user_id = ? and api_domain = ?', user_id, api_domain).first_or_create do |auth|
          auth.api_token = token
          auth.user_id = user_id
          auth.api_domain = api_domain
        end
      end
    end


    private

    def oauth2_protocol
      ENV['OAUTH_PROTOCOL'] || 'https'
    end

  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
coalescing_panda-1.1.0 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-1.0.9 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-1.0.8 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-1.0.7 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-1.0.6 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-1.0.5 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-1.0.4 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-1.0.3 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-1.0.2 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-1.0.1 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-1.0.0 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-0.0.11 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-0.0.7 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-0.0.6 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-0.0.5 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-0.0.4 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-0.0.3 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-0.0.2 app/controllers/coalescing_panda/oauth2_controller.rb
coalescing_panda-0.0.1 app/controllers/coalescing_panda/oauth2_controller.rb