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