panda_pal 5.14.0.beta5 → 5.14.0.beta7

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: 3ca8324d890b7a0caa25e8b31216b21b441e1dd23003903c873ff34545b482bc
4
- data.tar.gz: 4fbf36729ddb999aadad92c6b887ff9c731b81bbf97cb4eca434bfbae54d7c0f
3
+ metadata.gz: 762a0d4a45e1c9e5c94e9a67303b9adfd7f437742d3b000b5216cda9f901ae0e
4
+ data.tar.gz: fc798c502cfc2218ef88f8286c05c9434e7e8b5a6835a2d643619b11e1ba8c21
5
5
  SHA512:
6
- metadata.gz: dff58f780e6b55d11447d2844735c211380db9a9932b924e4cdd570a4f67c29a12d5b7f6097eac4df2792faa4bdc6ef23f4c18521348b0be1fdab65081076903
7
- data.tar.gz: 2e6fba74bc5d48f2a32b316045ee070046704dfc81838762a43484a042b9cde1183cff6531041813dcd8787ae9db3dbf52775e3730e4b3f6ec830e9a9a8ad510
6
+ metadata.gz: 3b2d5f5342348f0e99dfbb8382c00e396e5f1c82f8d22721b5e0f725b65d0c3877c27b17b6a74ef292619840a05ff284de0f37161290a2ce08199cb87a31d997
7
+ data.tar.gz: 1883e69179dc592d45b243e944934df02e298315fd7e5806b17a406da4557f9b9c7ffc5de7cb4559d7b687f97e09154fbd95de220a9f482fec37fd1b7def7fed
@@ -69,41 +69,41 @@ module PandaPal::Helpers
69
69
  def validate_v1p3_launch
70
70
  require "json/jwt"
71
71
 
72
- switch_tenant("public") do
73
- decoded_jwt = JSON::JWT.decode(params.require(:id_token), :skip_verification)
74
- raise JSON::JWT::VerificationFailed, 'error decoding id_token' if decoded_jwt.blank?
72
+ Apartment::Tenant.switch!("public")
75
73
 
76
- client_id = decoded_jwt['aud']
77
- deployment_id = decoded_jwt['https://purl.imsglobal.org/spec/lti/claim/deployment_id']
74
+ decoded_jwt = JSON::JWT.decode(params.require(:id_token), :skip_verification)
75
+ raise JSON::JWT::VerificationFailed, 'error decoding id_token' if decoded_jwt.blank?
78
76
 
79
- if deployment_id.present?
80
- @organization ||= PandaPal::Organization.find_by(key: "#{client_id}/#{deployment_id}")
81
- @organization ||= PandaPal::Organization.find_by(key: deployment_id)
82
- end
77
+ client_id = decoded_jwt['aud']
78
+ deployment_id = decoded_jwt['https://purl.imsglobal.org/spec/lti/claim/deployment_id']
83
79
 
84
- @organization ||= PandaPal::Organization.find_by(key: client_id)
80
+ if deployment_id.present?
81
+ @organization ||= PandaPal::Organization.find_by(key: "#{client_id}/#{deployment_id}")
82
+ @organization ||= PandaPal::Organization.find_by(key: deployment_id)
83
+ end
85
84
 
86
- params[:session_key] = params[:state]
85
+ @organization ||= PandaPal::Organization.find_by(key: client_id)
87
86
 
88
- raise JSON::JWT::VerificationFailed, 'Unrecognized Organization' unless @organization.present?
89
- raise JSON::JWT::VerificationFailed, 'Organization does not trust platform' unless @organization.trusted_platform?(current_lti_platform)
87
+ params[:session_key] = params[:state]
90
88
 
91
- begin
92
- decoded_jwt.verify!(current_lti_platform.public_jwks)
93
- rescue JSON::JWK::Set::KidNotFound
94
- decoded_jwt.verify!(current_lti_platform.public_jwks(force: true))
95
- end
89
+ raise JSON::JWT::VerificationFailed, 'Unrecognized Organization' unless @organization.present?
90
+ raise JSON::JWT::VerificationFailed, 'Organization does not trust platform' unless @organization.trusted_platform?(current_lti_platform)
96
91
 
97
- raise JSON::JWT::VerificationFailed, 'State is invalid' unless current_panda_session.panda_pal_organization_id == 0
98
- raise JSON::JWT::VerificationFailed, 'State is invalid' unless current_panda_session[:lti_oauth_nonce] == decoded_jwt['nonce']
92
+ begin
93
+ decoded_jwt.verify!(current_lti_platform.public_jwks)
94
+ rescue JSON::JWK::Set::KidNotFound
95
+ decoded_jwt.verify!(current_lti_platform.public_jwks(force: true))
96
+ end
99
97
 
100
- jwt_verifier = PandaPal::LtiJwtValidator.new(decoded_jwt, client_id)
101
- raise JSON::JWT::VerificationFailed, jwt_verifier.errors unless jwt_verifier.valid?
98
+ raise JSON::JWT::VerificationFailed, 'State is invalid' unless current_panda_session.panda_pal_organization_id == 0
99
+ raise JSON::JWT::VerificationFailed, 'State is invalid' unless current_panda_session[:lti_oauth_nonce] == decoded_jwt['nonce']
102
100
 
103
- # Migrate the session to the correct tenant
104
- login_session = current_panda_session
105
- login_session.delete
106
- end
101
+ jwt_verifier = PandaPal::LtiJwtValidator.new(decoded_jwt, client_id)
102
+ raise JSON::JWT::VerificationFailed, jwt_verifier.errors unless jwt_verifier.valid?
103
+
104
+ # Migrate the session to the correct tenant
105
+ login_session = current_panda_session
106
+ login_session.delete
107
107
 
108
108
  @organization.switch_tenant
109
109
 
@@ -1,3 +1,3 @@
1
1
  module PandaPal
2
- VERSION = "5.14.0.beta5"
2
+ VERSION = "5.14.0.beta7"
3
3
  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.14.0.beta5
4
+ version: 5.14.0.beta7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Instructure CustomDev