qalam_lti_provider_engine 1.1.6 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66602aec8f52d289ad48bfa0a262cedab1009769b1f6b481b53bcc7dcc4db5e4
|
4
|
+
data.tar.gz: b56291e0057f0379eb690f1eeb9ced57c6d10dbc409c5e0ebd1f3e03e6992c66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf8c57dcec00e990c922726172ca55eb62089cecde2d9a3c32963e31a250be6378a715fd8b210bf8b629f1ce70db837770a8a569216dd28d955b1b8cf9f34893
|
7
|
+
data.tar.gz: e83b485d85dbb3f28186a7a6c806a4b36a5a37d389b2cb9e8fa430eea7a5cc37de44ca9c6c0f0c3ccb54565b3f1354bcc0ccd0876be8af6776ecab01e581bb1b
|
@@ -10,11 +10,20 @@ module LtiProvider
|
|
10
10
|
launch = Launch.initialize_from_request(provider, request)
|
11
11
|
|
12
12
|
if !launch.valid_provider?
|
13
|
-
msg = "#{launch.lti_errormsg} Please be sure you are launching this tool from the link provided in
|
13
|
+
msg = "#{launch.lti_errormsg} Please be sure you are launching this tool from the link provided in Qalam."
|
14
14
|
return show_error msg
|
15
15
|
elsif launch.save
|
16
16
|
session[:cookie_test] = true
|
17
|
-
|
17
|
+
|
18
|
+
### QALAM ###
|
19
|
+
if params[:timetable_date] && params[:section_room]
|
20
|
+
redirect_to cookie_test_path(nonce: launch.nonce, launch: params[:launch], timetable_date: params[:timetable_date], section_room: params[:section_room])
|
21
|
+
elsif params[:launch]
|
22
|
+
redirect_to cookie_test_path(nonce: launch.nonce, launch: params[:launch])
|
23
|
+
else
|
24
|
+
redirect_to cookie_test_path(nonce: launch.nonce)
|
25
|
+
end
|
26
|
+
### END ###
|
18
27
|
else
|
19
28
|
return show_error "Unable to launch #{LtiProvider::XmlConfig.tool_title}. Please check your External Tools configuration and try again."
|
20
29
|
end
|
@@ -23,7 +32,11 @@ module LtiProvider
|
|
23
32
|
def cookie_test
|
24
33
|
if session[:cookie_test]
|
25
34
|
# success!!! we've got a session!
|
26
|
-
|
35
|
+
if params[:launch] or (params[:timetable_date] && params[:section_room])
|
36
|
+
qalam_consume_launch
|
37
|
+
else
|
38
|
+
consume_launch
|
39
|
+
end
|
27
40
|
else
|
28
41
|
render
|
29
42
|
end
|
@@ -32,6 +45,24 @@ module LtiProvider
|
|
32
45
|
def consume_launch
|
33
46
|
launch = Launch.where("created_at > ?", 5.minutes.ago).find_by_nonce(params[:nonce])
|
34
47
|
|
48
|
+
if launch
|
49
|
+
[:account_id, :course_name, :course_id, :canvas_url, :tool_consumer_instance_guid,
|
50
|
+
:user_id, :user_name, :user_roles, :user_avatar_url].each do |attribute|
|
51
|
+
session[attribute] = launch.public_send(attribute)
|
52
|
+
end
|
53
|
+
|
54
|
+
launch.destroy
|
55
|
+
|
56
|
+
redirect_to main_app.root_path
|
57
|
+
else
|
58
|
+
return show_error "The tool was not launched successfully. Please try again."
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
### QALAM ###
|
63
|
+
def qalam_consume_launch
|
64
|
+
launch = Launch.where("created_at > ?", 5.minutes.ago).find_by_nonce(params[:nonce])
|
65
|
+
|
35
66
|
puts params.inspect.yellow
|
36
67
|
|
37
68
|
if launch
|
@@ -55,6 +86,7 @@ module LtiProvider
|
|
55
86
|
return show_error "The tool was not launched successfully. Please try again."
|
56
87
|
end
|
57
88
|
end
|
89
|
+
### END ###
|
58
90
|
|
59
91
|
def configure
|
60
92
|
respond_to do |format|
|
@@ -69,5 +101,4 @@ module LtiProvider
|
|
69
101
|
render plain: message
|
70
102
|
end
|
71
103
|
end
|
72
|
-
end
|
73
|
-
|
104
|
+
end
|
@@ -79,8 +79,7 @@ module LtiProvider
|
|
79
79
|
"Consumer key not provided."
|
80
80
|
elsif provider.consumer_secret.blank?
|
81
81
|
"Consumer secret not configured on provider."
|
82
|
-
|
83
|
-
elsif !provider.valid_request?(request) && false
|
82
|
+
elsif !provider.valid_request?(request)
|
84
83
|
"The OAuth signature was invalid."
|
85
84
|
elsif oauth_timestamp_too_old?(provider.request_oauth_timestamp)
|
86
85
|
"Your request is too old."
|
data/lib/lti_provider/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qalam_lti_provider_engine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dave Donahue
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2021-
|
14
|
+
date: 2021-07-25 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
@@ -312,7 +312,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
312
312
|
- !ruby/object:Gem::Version
|
313
313
|
version: '0'
|
314
314
|
requirements: []
|
315
|
-
rubygems_version: 3.2.
|
315
|
+
rubygems_version: 3.2.21
|
316
316
|
signing_key:
|
317
317
|
specification_version: 4
|
318
318
|
summary: LtiProvider is a mountable engine for handling the LTI launch and exposing
|