zuora_connect 2.0.57e → 2.0.57j
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: 20a3be40ccdd0ae006685145eb4d5500389fc6cf220402bfb93072cffb911a41
|
4
|
+
data.tar.gz: 9821553b9795ea6ac6d73cebabb38d881c72dc6f845af86aa5e704def9e36b55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65c1c86d4dc83c3de5c9791dd2f1b688015c300111b2521f0c3f7bc4f52b4115c3bf13c9a5ff477c90734171f204df6b24966524d78d0a11aa8a21036ecf253a
|
7
|
+
data.tar.gz: a9675847a52ef1b26027a57f87a680a87755175ecf48ce929ae9cc7a4e740f7d090ff88dd07364f69e9ea8173a3cb0db58c1188b79cefbce6a41833711c9853c
|
@@ -20,7 +20,7 @@ module ZuoraConnect
|
|
20
20
|
BLANK_OBJECT_ID_LOOKUP = 'BlankValueSupplied'
|
21
21
|
HOLDING_PATTERN_SLEEP = 5.seconds
|
22
22
|
CONNECT_APPLICATION_ID = 0
|
23
|
-
CONNECT_COMMUNICATION_SLEEP= 5.seconds
|
23
|
+
CONNECT_COMMUNICATION_SLEEP = Rails.env.test? ? 0.seconds : 5.seconds
|
24
24
|
IGNORED_LOCALS = ['fr', 'ja', 'es', 'zh', 'de']
|
25
25
|
INTERNAL_HOSTS = []
|
26
26
|
LOGIN_TENANT_DESTINATION = 'target_login'
|
@@ -225,7 +225,7 @@ module ZuoraConnect
|
|
225
225
|
raise
|
226
226
|
rescue => ex
|
227
227
|
if recoverable_session
|
228
|
-
ZuoraConnect.logger.warn("REBUILDING - Using backup expired cache", ex)
|
228
|
+
ZuoraConnect.logger.warn("REBUILDING - Using backup expired cache", ex, self.default_ougai_items)
|
229
229
|
self.build_task(task_data: session["#{self.id}::task_data"], session: session)
|
230
230
|
return self
|
231
231
|
else
|
@@ -277,11 +277,8 @@ module ZuoraConnect
|
|
277
277
|
#Check how app was deployed
|
278
278
|
if self.id < 25000000 && !skip_connect
|
279
279
|
self.check_oauth_state
|
280
|
-
start = Time.now
|
281
280
|
response = HTTParty.get(ZuoraConnect.configuration.url + "/api/#{self.api_version}/tools/tasks/#{self.id}.json",:body => {:access_token => self.access_token})
|
282
|
-
response_time = Time.now - start
|
283
281
|
|
284
|
-
ZuoraConnect.logger.debug("REFRESH TASK - Connect Task Info Request Time #{response_time.round(2).to_s}")
|
285
282
|
if response.code == 200
|
286
283
|
begin
|
287
284
|
parsed_json = JSON.parse(response.body)
|
@@ -313,7 +310,7 @@ module ZuoraConnect
|
|
313
310
|
refresh_count += 1
|
314
311
|
if refresh_count < 3
|
315
312
|
sleep(10)
|
316
|
-
ZuoraConnect.logger.debug("REFRESH TASK - Connection Failure Retrying(#{refresh_count})", ex)
|
313
|
+
ZuoraConnect.logger.debug("REFRESH TASK - Connection Failure Retrying(#{refresh_count})", ex, self.default_ougai_items)
|
317
314
|
retry
|
318
315
|
else
|
319
316
|
ZuoraConnect.logger.fatal("REFRESH TASK - Connection Failed", ex)
|
@@ -322,17 +319,17 @@ module ZuoraConnect
|
|
322
319
|
rescue ZuoraConnect::Exceptions::ConnectCommunicationError => ex
|
323
320
|
refresh_count += 1
|
324
321
|
if refresh_count < 3
|
325
|
-
ZuoraConnect.logger.debug("REFRESH TASK - Communication Failure Retrying(#{refresh_count})", ex)
|
322
|
+
ZuoraConnect.logger.debug("REFRESH TASK - Communication Failure Retrying(#{refresh_count})", ex, self.default_ougai_items)
|
326
323
|
self.refresh_oauth if ex.code == 401
|
327
324
|
retry
|
328
325
|
else
|
329
|
-
ZuoraConnect.logger.fatal("REFRESH TASK - Communication Failed #{ex.code}", ex)
|
326
|
+
ZuoraConnect.logger.fatal("REFRESH TASK - Communication Failed #{ex.code}", ex, self.default_ougai_items)
|
330
327
|
raise
|
331
328
|
end
|
332
329
|
end
|
333
330
|
rescue => ex
|
334
331
|
if self['zuora_logins'].present?
|
335
|
-
ZuoraConnect.logger.warn("REFRESH TASK - Fallback to local encrypted store", ex)
|
332
|
+
ZuoraConnect.logger.warn("REFRESH TASK - Fallback to local encrypted store", ex, self.default_ougai_items)
|
336
333
|
skip_connect = true
|
337
334
|
retry
|
338
335
|
end
|
@@ -654,16 +651,12 @@ module ZuoraConnect
|
|
654
651
|
end
|
655
652
|
|
656
653
|
def refresh_oauth
|
657
|
-
refresh_oauth_count ||= 0
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
}
|
664
|
-
response = HTTParty.post("#{ZuoraConnect.configuration.url}/oauth/token",:body => params)
|
665
|
-
response_time = Time.now - start
|
666
|
-
ZuoraConnect.logger.debug("REFRESH OAUTH - In #{response_time.round(2).to_s}")
|
654
|
+
refresh_oauth_count ||= 0
|
655
|
+
response = HTTParty.post("#{ZuoraConnect.configuration.url}/oauth/token", body: {
|
656
|
+
:grant_type => "refresh_token",
|
657
|
+
:redirect_uri => ZuoraConnect.configuration.oauth_client_redirect_uri,
|
658
|
+
:refresh_token => self.refresh_token
|
659
|
+
})
|
667
660
|
|
668
661
|
if response.code == 200
|
669
662
|
response_body = JSON.parse(response.body)
|
@@ -677,11 +670,11 @@ module ZuoraConnect
|
|
677
670
|
end
|
678
671
|
rescue *(ZuoraAPI::Login::CONNECTION_EXCEPTIONS + ZuoraAPI::Login::CONNECTION_READ_EXCEPTIONS) => ex
|
679
672
|
if (refresh_oauth_count += 1) < 3
|
680
|
-
sleep(
|
681
|
-
ZuoraConnect.logger.debug("REFRESH OAUTH - Connection Failure Retrying(#{refresh_oauth_count})", ex)
|
673
|
+
sleep(CONNECT_COMMUNICATION_SLEEP)
|
674
|
+
ZuoraConnect.logger.debug("REFRESH OAUTH - Connection Failure Retrying(#{refresh_oauth_count})", ex, self.default_ougai_items)
|
682
675
|
retry
|
683
676
|
else
|
684
|
-
|
677
|
+
Rails.logger.fatal("REFRESH OAUTH - Connection Failed", ex, self.default_ougai_items)
|
685
678
|
raise
|
686
679
|
end
|
687
680
|
rescue ZuoraConnect::Exceptions::ConnectCommunicationError => ex
|
@@ -692,10 +685,10 @@ module ZuoraConnect
|
|
692
685
|
return if !self.oauth_expired?
|
693
686
|
|
694
687
|
if (refresh_oauth_count += 1) < 3
|
695
|
-
ZuoraConnect.logger.debug("REFRESH OAUTH - Communication Failure Retrying(#{refresh_oauth_count})", ex)
|
688
|
+
ZuoraConnect.logger.debug("REFRESH OAUTH - Communication Failure Retrying(#{refresh_oauth_count})", ex, self.default_ougai_items)
|
696
689
|
retry
|
697
690
|
else
|
698
|
-
ZuoraConnect.logger.fatal("REFRESH OAUTH - Communication Failed #{ex.code}", ex)
|
691
|
+
ZuoraConnect.logger.fatal("REFRESH OAUTH - Communication Failed #{ex.code}", ex, self.default_ougai_items)
|
699
692
|
raise
|
700
693
|
end
|
701
694
|
end
|
@@ -745,10 +738,10 @@ module ZuoraConnect
|
|
745
738
|
end
|
746
739
|
end
|
747
740
|
if cached_instance.blank?
|
748
|
-
ZuoraConnect.logger.debug("Cached AppInstance Missing")
|
741
|
+
ZuoraConnect.logger.debug("Cached AppInstance Missing", self.default_ougai_items)
|
749
742
|
return session
|
750
743
|
else
|
751
|
-
ZuoraConnect.logger.debug("Cached AppInstance Found")
|
744
|
+
ZuoraConnect.logger.debug("Cached AppInstance Found", self.default_ougai_items)
|
752
745
|
return decrypt_data(data: cached_instance, rescue_return: session).merge(session)
|
753
746
|
end
|
754
747
|
else
|
@@ -764,7 +757,7 @@ module ZuoraConnect
|
|
764
757
|
if defined?(Redis.current)
|
765
758
|
#Task data must be present and the last refresh cannot be old. We dont want to overwite new cache data with old
|
766
759
|
if self.task_data.present? && (self.last_refresh.to_i > INSTANCE_REFRESH_WINDOW.ago.to_i)
|
767
|
-
ZuoraConnect.logger.debug("Caching AppInstance")
|
760
|
+
ZuoraConnect.logger.debug("Caching AppInstance", self.default_ougai_items)
|
768
761
|
Redis.current.setex("AppInstance:#{self.id}", INSTANCE_REDIS_CACHE_PERIOD.to_i, self.encrypt_data(data: self.save_data))
|
769
762
|
end
|
770
763
|
end
|
@@ -828,10 +821,10 @@ module ZuoraConnect
|
|
828
821
|
begin
|
829
822
|
return JSON.parse(encryptor.decrypt_and_verify(CGI::unescape(data)))
|
830
823
|
rescue ActiveSupport::MessageVerifier::InvalidSignature => ex
|
831
|
-
ZuoraConnect.logger.error("Error Decrypting", ex) if log_fatal
|
824
|
+
ZuoraConnect.logger.error("Error Decrypting", ex, self.default_ougai_items) if log_fatal
|
832
825
|
return rescue_return
|
833
826
|
rescue JSON::ParserError => ex
|
834
|
-
ZuoraConnect.logger.error("JSON Parse Error", ex) if log_fatal
|
827
|
+
ZuoraConnect.logger.error("JSON Parse Error", ex, self.default_ougai_items) if log_fatal
|
835
828
|
return encryptor.decrypt_and_verify(CGI::unescape(data))
|
836
829
|
end
|
837
830
|
end
|
@@ -3,12 +3,7 @@
|
|
3
3
|
<title>Select Task ID</title>
|
4
4
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
5
5
|
<style>
|
6
|
-
|
7
|
-
background-color: #EFEFEF;
|
8
|
-
margin: 0;
|
9
|
-
}
|
10
|
-
|
11
|
-
div.connect-dialog {
|
6
|
+
.connect-dialog {
|
12
7
|
width: 95%;
|
13
8
|
max-width: 33em;
|
14
9
|
margin: 4em auto 0;
|
@@ -16,7 +11,11 @@
|
|
16
11
|
text-align: center;
|
17
12
|
}
|
18
13
|
|
19
|
-
|
14
|
+
.connect-dialog div {
|
15
|
+
background-color: white;
|
16
|
+
color: #2E2F30;
|
17
|
+
text-align: center;
|
18
|
+
font-family: arial, sans-serif;
|
20
19
|
margin: 0 0 1em;
|
21
20
|
border: 1px solid #CCC;
|
22
21
|
border-right-color: #999;
|
@@ -27,19 +26,17 @@
|
|
27
26
|
border-top-right-radius: 9px;
|
28
27
|
border-bottom-left-radius: 9px;
|
29
28
|
border-bottom-right-radius: 9px;
|
30
|
-
background-color: white;
|
31
29
|
padding: 7px 12% 0;
|
32
30
|
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
33
31
|
}
|
34
32
|
|
35
|
-
|
33
|
+
.connect-dialog h1 {
|
36
34
|
font-size: 100%;
|
37
35
|
color: #3D4B5A;
|
38
36
|
line-height: 1.5em;
|
39
37
|
}
|
40
38
|
|
41
|
-
|
42
|
-
div.connect-dialog > div.launch_button {
|
39
|
+
.connect-dialog .launch_button {
|
43
40
|
margin: 1em 0 1em;
|
44
41
|
margin-right: auto;
|
45
42
|
margin-left: auto;
|
@@ -149,24 +149,24 @@ module ZuoraConnect
|
|
149
149
|
ZuoraConnect::AppInstance.destroy(id)
|
150
150
|
Apartment::Tenant.drop(id)
|
151
151
|
render "zuora_connect/static/error_handled", :locals => {
|
152
|
-
:title => "Application Setup Error",
|
152
|
+
:title => "Application Setup Error",
|
153
153
|
:message => "Application cannot be run using Zuora Session. Delete old application \
|
154
154
|
deployment and create new with Zuora Basic or OAuth credentials."
|
155
155
|
}, :layout => false
|
156
|
-
return
|
156
|
+
return
|
157
157
|
rescue ZuoraConnect::Exceptions::AccessDenied => ex
|
158
158
|
respond_to do |format|
|
159
|
-
format.html {
|
159
|
+
format.html {
|
160
160
|
render "zuora_connect/static/error_handled", :locals => {
|
161
|
-
:title => "Application State Error",
|
161
|
+
:title => "Application State Error",
|
162
162
|
:message => ex.message
|
163
|
-
}, status: 401, layout: false
|
163
|
+
}, status: 401, layout: false
|
164
164
|
}
|
165
|
-
format.js {
|
165
|
+
format.js {
|
166
166
|
render "zuora_connect/static/error_handled", :locals => {
|
167
|
-
:title => "Application State Error",
|
167
|
+
:title => "Application State Error",
|
168
168
|
:message => ex.message
|
169
|
-
}, status: 401, layout: false
|
169
|
+
}, status: 401, layout: false
|
170
170
|
}
|
171
171
|
format.json { render json: {'errors' => ex.message}, status: 401 }
|
172
172
|
format.all { render json: ex.message, status: 401 }
|
@@ -196,17 +196,17 @@ module ZuoraConnect
|
|
196
196
|
raise ZuoraConnect::Exceptions::AccessDenied.new("User is not an authorized admin for this application") if raise_error
|
197
197
|
|
198
198
|
respond_to do |format|
|
199
|
-
format.html {
|
199
|
+
format.html {
|
200
200
|
render "zuora_connect/static/error_handled", :locals => {
|
201
|
-
:title => "Unauthorized",
|
201
|
+
:title => "Unauthorized",
|
202
202
|
:message => "User is not an authorized admin for this application"
|
203
203
|
}, status: 401, :layout => false
|
204
204
|
}
|
205
|
-
format.js {
|
205
|
+
format.js {
|
206
206
|
render "zuora_connect/static/error_handled", :locals => {
|
207
|
-
:title => "Unauthorized",
|
207
|
+
:title => "Unauthorized",
|
208
208
|
:message => "User is not an authorized admin for this application"
|
209
|
-
}, status: 401, :layout => false
|
209
|
+
}, status: 401, :layout => false
|
210
210
|
}
|
211
211
|
format.json { render json: {'errors' => ex.message}, status: 401 }
|
212
212
|
format.all { render json: ex.message, status: 401 }
|
@@ -246,7 +246,7 @@ module ZuoraConnect
|
|
246
246
|
auth_headers.merge!({'Authorization' => "ZSession-a3N2w #{zuora_client.get_session(prefix: false, auth_type: :basic)}"})
|
247
247
|
else
|
248
248
|
render "zuora_connect/static/error_handled", :locals => {
|
249
|
-
:title => "Missing Authorization Token",
|
249
|
+
:title => "Missing Authorization Token",
|
250
250
|
:message => "Zuora 'Zuora-Auth-Token' header and 'ZSession' cookie not present."
|
251
251
|
}, :layout => false
|
252
252
|
return
|
@@ -268,27 +268,34 @@ module ZuoraConnect
|
|
268
268
|
if zuora_tenant_id.to_s == "10548"
|
269
269
|
session.clear
|
270
270
|
render "zuora_connect/static/error_handled", :locals => {
|
271
|
-
:title => "Security Testing",
|
271
|
+
:title => "Security Testing",
|
272
272
|
:message => "Ya we know it you"
|
273
273
|
}, :layout => false
|
274
274
|
return
|
275
275
|
else
|
276
|
-
raise ZuoraConnect::Exceptions::Error.new("Header entity id does not match identity call entity id.")
|
276
|
+
raise ZuoraConnect::Exceptions::Error.new("Header entity id does not match identity call entity id.")
|
277
277
|
end
|
278
278
|
end
|
279
279
|
|
280
|
+
##
|
281
|
+
# If the ZSession was refreshed, but it's still the same user and they aren't launching from the side bar,
|
282
|
+
# we don't need to continue
|
283
|
+
is_same_user = identity.slice("entityId", "tenantId", "userId", "userProfileId") == (session["ZuoraCurrentIdentity"] || {}).slice("entityId", "tenantId", "userId", "userProfileId")
|
284
|
+
zuora_details["identity"]["entityId"] = identity['entityId']
|
280
285
|
session["ZuoraCurrentIdentity"] = identity
|
281
286
|
session["ZuoraCurrentEntity"] = identity['entityId']
|
282
287
|
session["ZSession"] = cookies['ZSession']
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
288
|
+
unless is_same_user && !params[:sidebar_launch].to_s.to_bool
|
289
|
+
zuora_instance_id = nil
|
290
|
+
ZuoraConnect.logger.debug("UI Authorization", zuora: zuora_details)
|
291
|
+
|
292
|
+
client_describe, response = zuora_client.rest_call(
|
293
|
+
url: zuora_client.rest_endpoint("genesis/user/info").gsub('v1/', ''),
|
294
|
+
session_type: zuora_client.class == ZuoraAPI::Oauth ? :bearer : :basic,
|
295
|
+
headers: auth_headers
|
296
|
+
)
|
297
|
+
session["ZuoraCurrentUserInfo"] = client_describe
|
298
|
+
end
|
292
299
|
end
|
293
300
|
|
294
301
|
#Find matching app instances.
|
@@ -296,7 +303,7 @@ module ZuoraConnect
|
|
296
303
|
appinstances = ZuoraConnect::AppInstance.where("zuora_entity_ids ?& array[:entities] = true AND zuora_domain = :host AND id = :id", entities: [zuora_entity_id], host: zuora_client.rest_domain, id: zuora_instance_id.to_i).pluck(:id, :name)
|
297
304
|
else
|
298
305
|
#if app_instance_ids is present then permissions still controlled by connect
|
299
|
-
if params[:app_instance_ids].present?
|
306
|
+
if params[:app_instance_ids].present?
|
300
307
|
navbar, response = zuora_client.rest_call(url: zuora_client.rest_endpoint("navigation"))
|
301
308
|
urls = navbar['menus'].map {|x| x['url']}
|
302
309
|
app_env = ENV["DEIS_APP"] || "xyz123"
|
@@ -304,7 +311,7 @@ module ZuoraConnect
|
|
304
311
|
if url.blank?
|
305
312
|
if navbar['menus'].map {|x| x['label']}.include?('Link Connect Account')
|
306
313
|
render "zuora_connect/static/error_handled", :locals => {
|
307
|
-
:title => "Link Account",
|
314
|
+
:title => "Link Account",
|
308
315
|
:message => "Link Connect account to gain access to application."
|
309
316
|
}, :layout => false
|
310
317
|
return
|
@@ -330,7 +337,7 @@ module ZuoraConnect
|
|
330
337
|
ZuoraConnect.logger.debug("Instance is #{appinstances.to_h.keys.first}")
|
331
338
|
@appinstance = ZuoraConnect::AppInstance.find(appinstances.to_h.keys.first)
|
332
339
|
|
333
|
-
#Add user/update
|
340
|
+
#Add user/update
|
334
341
|
begin
|
335
342
|
@zuora_user = ZuoraConnect::ZuoraUser.where(:zuora_user_id => zuora_user_id).first
|
336
343
|
rescue ActiveRecord::StatementInvalid => ex
|
@@ -350,7 +357,7 @@ module ZuoraConnect
|
|
350
357
|
else
|
351
358
|
ZuoraConnect.logger.debug("New zuora user object for #{zuora_user_id}")
|
352
359
|
@zuora_user = ZuoraConnect::ZuoraUser.create!(:zuora_user_id => zuora_user_id, :zuora_identity_response => {zuora_entity_id => session["ZuoraCurrentIdentity"]})
|
353
|
-
end
|
360
|
+
end
|
354
361
|
@zuora_user.session = session
|
355
362
|
session["#{@appinstance.id}::user::localUserId"] = @zuora_user.id
|
356
363
|
session["#{@appinstance.id}::user::email"] = session['ZuoraCurrentIdentity']["username"]
|
@@ -359,19 +366,19 @@ module ZuoraConnect
|
|
359
366
|
session["appInstance"] = @appinstance.id
|
360
367
|
|
361
368
|
#We have multiple, user must pick
|
362
|
-
elsif appinstances.size > 1
|
369
|
+
elsif appinstances.size > 1
|
363
370
|
ZuoraConnect.logger.debug("User must select instance. #{@names}")
|
364
371
|
render "zuora_connect/static/launch", :locals => {:names => appinstances.to_h}, :layout => false
|
365
372
|
return
|
366
373
|
|
367
374
|
#We have no deployed instance for this tenant
|
368
|
-
else
|
369
|
-
#Ensure user can access oauth creation API
|
375
|
+
else
|
376
|
+
#Ensure user can access oauth creation API
|
370
377
|
if !session["ZuoraCurrentUserInfo"]['permissions'].include?("permission.userManagement")
|
371
378
|
Thread.current[:appinstance] = nil
|
372
379
|
session["appInstance"] = nil
|
373
380
|
render "zuora_connect/static/error_handled", :locals => {
|
374
|
-
:title => "Application can only complete its initial setup via platform administrator",
|
381
|
+
:title => "Application can only complete its initial setup via platform administrator",
|
375
382
|
:message => "Please contact admin who has user managment permissions in tenant and have them click and finish setup."
|
376
383
|
}, :layout => false
|
377
384
|
return
|
@@ -389,20 +396,20 @@ module ZuoraConnect
|
|
389
396
|
next_id = (ZuoraConnect::AppInstance.all.where('id > 24999999').order(id: :desc).limit(1).pluck(:id).first || 24999999) + 1
|
390
397
|
user = (ENV['DEIS_APP'] || "Application").split('-').map(&:capitalize).join(' ')
|
391
398
|
body = {
|
392
|
-
'userId' => zuora_user_id,
|
393
|
-
'entityIds' => [zuora_entity_id.unpack("a8a4a4a4a12").join('-')],
|
394
|
-
'customAuthorities' => [],
|
399
|
+
'userId' => zuora_user_id,
|
400
|
+
'entityIds' => [zuora_entity_id.unpack("a8a4a4a4a12").join('-')],
|
401
|
+
'customAuthorities' => [],
|
395
402
|
'additionalInformation' => {
|
396
|
-
'description' => "This user is for #{user} application.",
|
403
|
+
'description' => "This user is for #{user} application.",
|
397
404
|
'name' => "#{user} API User #{next_id}"
|
398
405
|
}
|
399
406
|
}
|
400
407
|
|
401
408
|
oauth_response, response = zuora_client.rest_call(
|
402
|
-
method: :post,
|
403
|
-
body: body.to_json,
|
404
|
-
url: zuora_client.rest_endpoint("genesis/clients").gsub('v1/', ''),
|
405
|
-
session_type: zuora_client.class == ZuoraAPI::Oauth ? :bearer : :basic,
|
409
|
+
method: :post,
|
410
|
+
body: body.to_json,
|
411
|
+
url: zuora_client.rest_endpoint("genesis/clients").gsub('v1/', ''),
|
412
|
+
session_type: zuora_client.class == ZuoraAPI::Oauth ? :bearer : :basic,
|
406
413
|
headers: auth_headers
|
407
414
|
)
|
408
415
|
|
@@ -444,7 +451,7 @@ module ZuoraConnect
|
|
444
451
|
Thread.current[:appinstance] = nil
|
445
452
|
session["appInstance"] = nil
|
446
453
|
render "zuora_connect/static/error_handled", :locals => {
|
447
|
-
:title => "Application could not create unique tokens.",
|
454
|
+
:title => "Application could not create unique tokens.",
|
448
455
|
:message => "Please contact support or retry launching application."
|
449
456
|
}, :layout => false
|
450
457
|
return
|
@@ -477,7 +484,7 @@ module ZuoraConnect
|
|
477
484
|
end
|
478
485
|
redirect_to "https://#{zuora_host}/apps/newlogin.do?retURL=#{request.fullpath}"
|
479
486
|
return
|
480
|
-
|
487
|
+
|
481
488
|
rescue ZuoraAPI::Exceptions::ZuoraAPIError, Exception => ex
|
482
489
|
if ex.message.include?("Referenced User resource(s) not found") && ex.class == ZuoraAPI::Exceptions::ZuoraAPIError
|
483
490
|
locals = {title: "Provisioning Error", message: "New tenats need to be provisioned by API Gateway('#{ex.message}'). Please contact support."}
|
@@ -490,7 +497,7 @@ module ZuoraConnect
|
|
490
497
|
ZuoraConnect.logger.error("UI Authorization Error", ex, zuora: zuora_details)
|
491
498
|
render "zuora_connect/static/error_unhandled", locals: {exception: ex, skip_exception: true}, layout: false, status: 500
|
492
499
|
end
|
493
|
-
return
|
500
|
+
return
|
494
501
|
end
|
495
502
|
elsif request["data"] && /^([A-Za-z0-9+\/\-\_]{4})*([A-Za-z0-9+\/]{4}|[A-Za-z0-9+\/]{3}=|[A-Za-z0-9+\/]{2}==)$/.match(request["data"].to_s)
|
496
503
|
session.clear
|
@@ -529,10 +536,10 @@ module ZuoraConnect
|
|
529
536
|
else
|
530
537
|
raise ZuoraConnect::Exceptions::AccessDenied.new("Authorization mismatch. Possible tampering with session.")
|
531
538
|
end
|
532
|
-
end
|
539
|
+
end
|
533
540
|
else
|
534
541
|
if session["appInstance"].present?
|
535
|
-
@appinstance = ZuoraConnect::AppInstance.find_by(:id => session["appInstance"])
|
542
|
+
@appinstance = ZuoraConnect::AppInstance.find_by(:id => session["appInstance"])
|
536
543
|
else
|
537
544
|
raise ZuoraConnect::Exceptions::AccessDenied.new("No application state or session found.")
|
538
545
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zuora_connect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.57j
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Connect Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-04
|
11
|
+
date: 2020-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: apartment
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: ougai-formatters-customizable
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 1.0.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 1.0.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: zuora_api
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|