lti_skydrive 0.0.4 → 0.0.5
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 +4 -4
- data/app/assets/javascripts/skydrive/ember_app.js +18 -6
- data/app/assets/stylesheets/skydrive/application.css +1 -0
- data/app/assets/stylesheets/skydrive/custom.css +6 -0
- data/app/controllers/skydrive/launch_controller.rb +5 -5
- data/app/views/layouts/skydrive/error.html.erb +23 -0
- data/lib/skydrive/file.rb +1 -1
- data/lib/skydrive/version.rb +1 -1
- data/test/dummy/log/development.log +58 -0
- metadata +4 -4
- data/test/dummy/tmp/pids/server.pid +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7bd921706c714324e9418139cb0703c3f9586e3f
|
4
|
+
data.tar.gz: e8d14137930c1c7de4bb11dd8c6bee694f3e4d39
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a465e4b70b352f3fd1f27a6ff1d77df2772314e628f722031e23dbe1fa2c47339190d1778a14f60bd7921dceaf663db78e96269f229aa622dd8eef42457b92b
|
7
|
+
data.tar.gz: 00474a7e21e7f4d385052846a7e50a7a92a5dc166029f43ed2bbcc32f364d52dea33b80e671e59d70006b617c1b978b3aeddaaeb4cc8c8ec74f7e3585b9f7d49
|
@@ -126,10 +126,11 @@ var AuthManager = Ember.Object.extend({
|
|
126
126
|
|
127
127
|
// Determine if the user is currently authenticated.
|
128
128
|
isAuthenticated: function() {
|
129
|
-
return !Ember.isEmpty(this.get('apiKey.accessToken'));
|
129
|
+
return (!Ember.isEmpty(this.get('apiKey.accessToken')) && !this.get('isAuthenticating'));
|
130
130
|
},
|
131
131
|
|
132
132
|
authenticateWithCode: function(code) {
|
133
|
+
this.set('isAuthenticating', true);
|
133
134
|
$.post('oauth2/token', {code: code})
|
134
135
|
.always($.proxy(function(response) {
|
135
136
|
if(!Ember.isEmpty(response.api_key)){
|
@@ -137,14 +138,17 @@ var AuthManager = Ember.Object.extend({
|
|
137
138
|
} else {
|
138
139
|
this.authenticateWithCookie();
|
139
140
|
}
|
141
|
+
this.set('isAuthenticating', false);
|
140
142
|
}, this));
|
141
143
|
},
|
142
144
|
|
143
145
|
authenticateWithCookie: function() {
|
146
|
+
this.set('isAuthenticating', true);
|
144
147
|
var accessToken = $.cookie('access_token');
|
145
148
|
if (!Ember.isEmpty(accessToken)) {
|
146
149
|
this.authenticate(accessToken);
|
147
150
|
}
|
151
|
+
this.set('isAuthenticating', false);
|
148
152
|
},
|
149
153
|
|
150
154
|
// Authenticate the user. Once they are authenticated, set the access token to be submitted with all
|
@@ -278,18 +282,26 @@ var FilesRoute = AuthenticatedRoute.extend({
|
|
278
282
|
setupController: function(controller, model) {
|
279
283
|
var uri = model.uri;
|
280
284
|
path = Ember.ENV.CONFIG.root_path;
|
285
|
+
controller.set('isLoading', true);
|
281
286
|
var skydriveAuthorized = Ember.$.getJSON(path + 'api/v1/skydrive_authorized').then(
|
282
287
|
function() {
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
+
Ember.$.getJSON(path + 'api/v1/files/' + uri).then(
|
289
|
+
function(data) {
|
290
|
+
controller.set('model', data);
|
291
|
+
controller.set('isLoading', false);
|
292
|
+
},
|
293
|
+
function(jqxhr) {
|
294
|
+
controller.set('model', {});
|
295
|
+
controller.set('authRedirectUrl', jqxhr.responseText);
|
296
|
+
controller.set('isLoading', false);
|
297
|
+
}
|
298
|
+
);
|
288
299
|
controller.set('authRedirectUrl', null);
|
289
300
|
},
|
290
301
|
function(jqxhr) {
|
291
302
|
controller.set('model', {});
|
292
303
|
controller.set('authRedirectUrl', jqxhr.responseText);
|
304
|
+
controller.set('isLoading', false);
|
293
305
|
}
|
294
306
|
);
|
295
307
|
},
|
@@ -19,13 +19,13 @@ module Skydrive
|
|
19
19
|
tp = IMS::LTI::ToolProvider.new(key, secret, params)
|
20
20
|
|
21
21
|
if !key
|
22
|
-
tp.lti_errorlog = "
|
22
|
+
tp.lti_errorlog = "Invalid consumer key or secret"
|
23
23
|
elsif !secret
|
24
24
|
tp.lti_errorlog = "Consumer key wasn't recognized"
|
25
25
|
elsif !tp.valid_request?(request)
|
26
26
|
tp.lti_errorlog = "The OAuth signature was invalid"
|
27
27
|
elsif Time.now.utc.to_i - tp.request_oauth_timestamp.to_i > 120
|
28
|
-
tp.lti_errorlog = "Your request is too old
|
28
|
+
tp.lti_errorlog = "Your request is too old"
|
29
29
|
end
|
30
30
|
|
31
31
|
#
|
@@ -47,18 +47,18 @@ module Skydrive
|
|
47
47
|
def basic_launch
|
48
48
|
tp = tool_provider
|
49
49
|
if tp.lti_errorlog
|
50
|
-
render text: tp.lti_errorlog, status: 400
|
50
|
+
render text: tp.lti_errorlog, status: 400, layout: "skydrive/error"
|
51
51
|
return
|
52
52
|
end
|
53
53
|
|
54
54
|
email = tp.lis_person_contact_email_primary
|
55
55
|
unless email.present?
|
56
|
-
render text: "Missing email information"
|
56
|
+
render text: "Missing email information", layout: "skydrive/error"
|
57
57
|
return
|
58
58
|
end
|
59
59
|
|
60
60
|
unless client_domain = tp.get_custom_param('sharepoint_client_domain')
|
61
|
-
render text: "Missing sharepoint client domain", status: 400
|
61
|
+
render text: "Missing sharepoint client domain", status: 400, layout: "skydrive/error"
|
62
62
|
return
|
63
63
|
end
|
64
64
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<title>Sky Drive</title>
|
5
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
6
|
+
<%= stylesheet_link_tag "skydrive/font-awesome/font-awesome.min.css", media: "all" %>
|
7
|
+
<%= stylesheet_link_tag "skydrive/application.css", media: "all" %>
|
8
|
+
<%= javascript_include_tag "skydrive/application.js" %>
|
9
|
+
<%= csrf_meta_tags %>
|
10
|
+
<title>Sky Drive</title>
|
11
|
+
</head>
|
12
|
+
<body>
|
13
|
+
|
14
|
+
<nav class="top-bar">
|
15
|
+
<img src="https://p.sfx.ms/images/SkyDriveLogoLight.png" />
|
16
|
+
</nav>
|
17
|
+
|
18
|
+
<div class="error-instructions">
|
19
|
+
<%= yield %>
|
20
|
+
</div>
|
21
|
+
|
22
|
+
</body>
|
23
|
+
</html>
|
data/lib/skydrive/file.rb
CHANGED
data/lib/skydrive/version.rb
CHANGED
@@ -8403,3 +8403,61 @@ Processing by Skydrive::FilesController#download as */*
|
|
8403
8403
|
Rendered text template (0.0ms)
|
8404
8404
|
Sent data (0.6ms)
|
8405
8405
|
Completed 200 OK in 380ms (Views: 0.4ms | ActiveRecord: 0.4ms)
|
8406
|
+
|
8407
|
+
|
8408
|
+
Started GET "/api/v1/lti_apps?access_token=16e255ac9df64d9b54ea387555cfce6f&offset=0" for 127.0.0.1 at 2014-01-15 11:13:05 -0700
|
8409
|
+
|
8410
|
+
ActionController::RoutingError (No route matches [GET] "/api/v1/lti_apps"):
|
8411
|
+
actionpack (4.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
|
8412
|
+
actionpack (4.0.2) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
|
8413
|
+
railties (4.0.2) lib/rails/rack/logger.rb:38:in `call_app'
|
8414
|
+
railties (4.0.2) lib/rails/rack/logger.rb:20:in `block in call'
|
8415
|
+
activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `block in tagged'
|
8416
|
+
activesupport (4.0.2) lib/active_support/tagged_logging.rb:25:in `tagged'
|
8417
|
+
activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `tagged'
|
8418
|
+
railties (4.0.2) lib/rails/rack/logger.rb:20:in `call'
|
8419
|
+
actionpack (4.0.2) lib/action_dispatch/middleware/request_id.rb:21:in `call'
|
8420
|
+
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
|
8421
|
+
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
|
8422
|
+
activesupport (4.0.2) lib/active_support/cache/strategy/local_cache.rb:83:in `call'
|
8423
|
+
rack (1.5.2) lib/rack/lock.rb:17:in `call'
|
8424
|
+
actionpack (4.0.2) lib/action_dispatch/middleware/static.rb:64:in `call'
|
8425
|
+
rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
|
8426
|
+
railties (4.0.2) lib/rails/engine.rb:511:in `call'
|
8427
|
+
railties (4.0.2) lib/rails/application.rb:97:in `call'
|
8428
|
+
rack (1.5.2) lib/rack/lock.rb:17:in `call'
|
8429
|
+
rack (1.5.2) lib/rack/content_length.rb:14:in `call'
|
8430
|
+
rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
|
8431
|
+
/Users/brad/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
|
8432
|
+
/Users/brad/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
|
8433
|
+
/Users/brad/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'
|
8434
|
+
|
8435
|
+
|
8436
|
+
Rendered /Users/brad/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.0ms)
|
8437
|
+
Rendered /Users/brad/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb (1.1ms)
|
8438
|
+
Rendered /Users/brad/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb (1.9ms)
|
8439
|
+
Rendered /Users/brad/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (40.6ms)
|
8440
|
+
Rendered /Users/brad/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/actionpack-4.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (100.6ms)
|
8441
|
+
|
8442
|
+
|
8443
|
+
Started GET "/assets/skydrive/skydrive_icon.png" for 127.0.0.1 at 2014-01-15 11:13:35 -0700
|
8444
|
+
|
8445
|
+
|
8446
|
+
Started POST "/skydrive/launch" for 127.0.0.1 at 2014-01-15 11:13:38 -0700
|
8447
|
+
Processing by Skydrive::LaunchController#basic_launch as HTML
|
8448
|
+
Parameters: {"oauth_consumer_key"=>"fe240219-0559-4cb8-933d-ad7ef572005c", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1389809618", "oauth_nonce"=>"6g0Lm9i6LZTr80aUEWYRsfPyLBOOv4xwGBfMiuaGY", "oauth_version"=>"1.0", "context_id"=>"d2be670fbe0876dc2e5dde5a1fbb35982fe20f9f", "context_label"=>"LTI", "context_title"=>"LTI", "custom_canvas_api_domain"=>"localhost:3000", "custom_canvas_assignment_id"=>"7", "custom_canvas_course_id"=>"1", "custom_canvas_enrollment_state"=>"active", "custom_canvas_user_id"=>"1", "custom_canvas_user_login_id"=>"brad", "custom_sharepoint_client_domain"=>"instructure", "ext_content_intended_use"=>"homework", "ext_content_return_types"=>"file", "ext_content_return_url"=>"http://localhost:3000/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"http://localhost:3000/external_content/success/external_tool", "launch_presentation_width"=>"700", "lis_person_contact_email_primary"=>"brad", "lis_person_name_family"=>"", "lis_person_name_full"=>"brad", "lis_person_name_given"=>"brad", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"d2be670fbe0876dc2e5dde5a1fbb35982fe20f9f", "resource_link_title"=>"SkydrivePro", "roles"=>"Instructor,Learner,urn:lti:instrole:ims/lis/Administrator", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"canvas@example.com", "tool_consumer_instance_guid"=>"a4a7c6f7128c3946d872188732e68cc877bfe245.localhost:3000", "tool_consumer_instance_name"=>"test", "user_id"=>"f3e8abfd08ea30734fdb78d4503523c0f2f35f12", "user_image"=>"https://secure.gravatar.com/avatar/884354eb56db3323cbce63a5e177ecac?s=50&d=https%3A%2F%2Fcanvas.instructure.com%2Fimages%2Fmessages%2Favatar-50.png", "oauth_signature"=>"+DR6BYOnWXCTSC0/TYLt6WJXjjQ="}
|
8449
|
+
[1m[35mSkydrive::LtiKey Load (0.2ms)[0m SELECT "skydrive_lti_keys".* FROM "skydrive_lti_keys" WHERE "skydrive_lti_keys"."key" = 'fe240219-0559-4cb8-933d-ad7ef572005c' ORDER BY "skydrive_lti_keys"."id" ASC LIMIT 1
|
8450
|
+
Rendered text template (0.0ms)
|
8451
|
+
Completed 400 Bad Request in 2ms (Views: 0.7ms | ActiveRecord: 0.2ms)
|
8452
|
+
|
8453
|
+
|
8454
|
+
Started GET "/assets/skydrive/skydrive_icon.png" for 127.0.0.1 at 2014-01-15 11:14:04 -0700
|
8455
|
+
|
8456
|
+
|
8457
|
+
Started POST "/skydrive/launch" for 127.0.0.1 at 2014-01-15 11:14:07 -0700
|
8458
|
+
Processing by Skydrive::LaunchController#basic_launch as HTML
|
8459
|
+
Parameters: {"oauth_consumer_key"=>"fe240219-0559-4cb8-933d-ad7ef572005c", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1389809647", "oauth_nonce"=>"qU7Rdmz7nWi5plLaqOKluyRBF3h3BcTBMRbzbBdXTa8", "oauth_version"=>"1.0", "context_id"=>"d2be670fbe0876dc2e5dde5a1fbb35982fe20f9f", "context_label"=>"LTI", "context_title"=>"LTI", "custom_canvas_api_domain"=>"localhost:3000", "custom_canvas_assignment_id"=>"7", "custom_canvas_course_id"=>"1", "custom_canvas_enrollment_state"=>"active", "custom_canvas_user_id"=>"1", "custom_canvas_user_login_id"=>"brad", "custom_sharepoint_client_domain"=>"instructure", "ext_content_intended_use"=>"homework", "ext_content_return_types"=>"file", "ext_content_return_url"=>"http://localhost:3000/external_content/success/external_tool", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"600", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"http://localhost:3000/external_content/success/external_tool", "launch_presentation_width"=>"700", "lis_person_contact_email_primary"=>"brad", "lis_person_name_family"=>"", "lis_person_name_full"=>"brad", "lis_person_name_given"=>"brad", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"d2be670fbe0876dc2e5dde5a1fbb35982fe20f9f", "resource_link_title"=>"SkydrivePro", "roles"=>"Instructor,Learner,urn:lti:instrole:ims/lis/Administrator", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"canvas@example.com", "tool_consumer_instance_guid"=>"a4a7c6f7128c3946d872188732e68cc877bfe245.localhost:3000", "tool_consumer_instance_name"=>"test", "user_id"=>"f3e8abfd08ea30734fdb78d4503523c0f2f35f12", "user_image"=>"https://secure.gravatar.com/avatar/884354eb56db3323cbce63a5e177ecac?s=50&d=https%3A%2F%2Fcanvas.instructure.com%2Fimages%2Fmessages%2Favatar-50.png", "oauth_signature"=>"6g65vS/tXIo5mGxe26G1fQA3VNc="}
|
8460
|
+
[1m[36mSkydrive::LtiKey Load (0.2ms)[0m [1mSELECT "skydrive_lti_keys".* FROM "skydrive_lti_keys" WHERE "skydrive_lti_keys"."key" = 'fe240219-0559-4cb8-933d-ad7ef572005c' ORDER BY "skydrive_lti_keys"."id" ASC LIMIT 1[0m
|
8461
|
+
Rendered text template (0.0ms)
|
8462
|
+
Completed 400 Bad Request in 2ms (Views: 0.3ms | ActiveRecord: 0.2ms)
|
8463
|
+
[1m[36mSkydrive::LtiKey Load (0.1ms)[0m [1mSELECT "skydrive_lti_keys".* FROM "skydrive_lti_keys" ORDER BY "skydrive_lti_keys"."id" DESC LIMIT 1[0m
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lti_skydrive
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brad Humphrey
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -138,6 +138,7 @@ files:
|
|
138
138
|
- app/assets/javascripts/skydrive/vendor/jquery.js
|
139
139
|
- app/assets/stylesheets/skydrive/app.css
|
140
140
|
- app/assets/stylesheets/skydrive/application.css
|
141
|
+
- app/assets/stylesheets/skydrive/custom.css
|
141
142
|
- app/assets/stylesheets/skydrive/font-awesome/font-awesome.min.css
|
142
143
|
- app/assets/stylesheets/skydrive/normalize.css
|
143
144
|
- app/controllers/skydrive/api_keys_controller.rb
|
@@ -156,6 +157,7 @@ files:
|
|
156
157
|
- app/serializers/api_key_serializer.rb
|
157
158
|
- app/serializers/user_serializer.rb
|
158
159
|
- app/views/layouts/skydrive/application.html.erb
|
160
|
+
- app/views/layouts/skydrive/error.html.erb
|
159
161
|
- app/views/skydrive/ember/index.html.erb
|
160
162
|
- config/initializers/sharepoint.rb
|
161
163
|
- config/routes.rb
|
@@ -353,7 +355,6 @@ files:
|
|
353
355
|
- test/dummy/tmp/cache/assets/production/sprockets/f48290aae486ea863a9f456ba96443e9
|
354
356
|
- test/dummy/tmp/cache/assets/production/sprockets/f7cbd26ba1d28d48de824f0e94586655
|
355
357
|
- test/dummy/tmp/cache/assets/production/sprockets/fa078ac6abaaee94445294c5a7c6d793
|
356
|
-
- test/dummy/tmp/pids/server.pid
|
357
358
|
- test/helpers/skydrive/ember_helper_test.rb
|
358
359
|
- test/integration/navigation_test.rb
|
359
360
|
- test/skydrive_test.rb
|
@@ -555,7 +556,6 @@ test_files:
|
|
555
556
|
- test/dummy/tmp/cache/assets/production/sprockets/f48290aae486ea863a9f456ba96443e9
|
556
557
|
- test/dummy/tmp/cache/assets/production/sprockets/f7cbd26ba1d28d48de824f0e94586655
|
557
558
|
- test/dummy/tmp/cache/assets/production/sprockets/fa078ac6abaaee94445294c5a7c6d793
|
558
|
-
- test/dummy/tmp/pids/server.pid
|
559
559
|
- test/helpers/skydrive/ember_helper_test.rb
|
560
560
|
- test/integration/navigation_test.rb
|
561
561
|
- test/skydrive_test.rb
|
@@ -1 +0,0 @@
|
|
1
|
-
15608
|