panda_pal 5.16.12 → 5.16.13

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: 0442d4ba09d95ef51337e42da67e084ced8399cdaa025772a8bb74efc5d7c772
4
- data.tar.gz: 80999b109c85aab72981be87b5d61be2fd4bf1a42ac37d036bf6fcdb4f2d7c6d
3
+ metadata.gz: eee3a364aa3be3e70d5ecadb4ea70c307c756eb196758bf44043b4dafb852a3c
4
+ data.tar.gz: ca42410eb19a2a8d5d253a32b3482e2273c5840632e6a00e577fa215e5ce2dad
5
5
  SHA512:
6
- metadata.gz: fb3aa209bef32fc3042ef04a25601fd9a768e64e9793632076d2f3ff8d5428aa4c7545ff9ab684071a7dda0c3aecc4cec8db58d5af005add8b815df21888046f
7
- data.tar.gz: 4ead30f7c30fa32ff41e72e8389a9c46221c6d1ab8a4f7bd3c3a69565cf0d53fbf1d0001dfd7e14e289cd76e5303a003cd8d527a0c1a76f0ec636ce1a96f5e83
6
+ metadata.gz: dcefe8a6496762e334f3e08367a5b6b5d2eeb92c2142a39ec3f4f1cd6c6e375cd1812a8900443ffd2f7b50ea5571dfb0583b44f706cf5523246babf700bd7df0
7
+ data.tar.gz: d8615a3bb2dede06f53e1ab1a2d5f1fe648495c3415acaa6f9dcdf6dd44b6cd188f3ae2bcfe3fd623963534819d130fdd090fc35e0fe75be8abf36acb86be16e
@@ -124,9 +124,7 @@ module PandaPal
124
124
  end
125
125
 
126
126
  def public_jwks
127
- render json: {
128
- keys: [JWT::JWK.new(PandaPal.lti_private_key).export]
129
- }
127
+ render json: JWT::JWK::Set.new(PandaPal.jwk).export
130
128
  end
131
129
 
132
130
  protected
@@ -134,9 +134,8 @@ module PandaPal
134
134
  PandaPal::LtiConstants::DeepLinking::DATA => custom_deep_link_data,
135
135
  }
136
136
 
137
- require 'json/jwt'
138
- jwk = JSON::JWK.new(PandaPal.lti_private_key)
139
- JSON::JWT.new(deep_link_jwt_payload).sign(jwk, :RS256).to_s
137
+ jwk = PandaPal.jwk
138
+ JWT.encode(deep_link_jwt_payload, jwk.signing_key, jwk[:alg], kid: jwk[:kid])
140
139
  end
141
140
  end
142
141
  end
@@ -1,3 +1,3 @@
1
1
  module PandaPal
2
- VERSION = '5.16.12'
2
+ VERSION = '5.16.13'
3
3
  end
data/lib/panda_pal.rb CHANGED
@@ -5,6 +5,8 @@ require 'panda_pal/lti_constants'
5
5
  require 'oauth/request_proxy/rack_request'
6
6
  require 'oauth/request_proxy/action_dispatch_request'
7
7
 
8
+ require 'jwt'
9
+
8
10
  Dir[File.dirname(__FILE__) + "/panda_pal/concerns/**/*.rb"].each { |file| require file }
9
11
 
10
12
  module PandaPal
@@ -111,6 +113,14 @@ module PandaPal
111
113
  end.compact
112
114
  end
113
115
 
116
+ def self.jwk
117
+ @@jwk ||= JWT::JWK.new(lti_private_key, { use: 'sig', alg: 'RS256' })
118
+ end
119
+
120
+ def self.jwk=(v)
121
+ @@jwk = v
122
+ end
123
+
114
124
  private
115
125
 
116
126
  def self.normalize_ext_type(type)
data/panda_pal.gemspec CHANGED
@@ -26,7 +26,6 @@ Gem::Specification.new do |s|
26
26
  s.add_dependency 'browser', '2.5.0'
27
27
  s.add_dependency 'attr_encrypted', '~> 4.0.0'
28
28
  s.add_dependency 'secure_headers', '~> 6.1'
29
- s.add_dependency 'json-jwt'
30
29
  s.add_dependency 'jwt'
31
30
  s.add_dependency 'httparty'
32
31
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: panda_pal
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.16.12
4
+ version: 5.16.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Instructure CustomDev
@@ -93,20 +93,6 @@ dependencies:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
95
  version: '6.1'
96
- - !ruby/object:Gem::Dependency
97
- name: json-jwt
98
- requirement: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
- type: :runtime
104
- prerelease: false
105
- version_requirements: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
96
  - !ruby/object:Gem::Dependency
111
97
  name: jwt
112
98
  requirement: !ruby/object:Gem::Requirement