conversant 1.0.16 → 1.0.18
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/CHANGELOG.md +36 -0
- data/conversant.gemspec +5 -5
- data/lib/conversant/v3/services/portal.rb +10 -13
- data/lib/conversant/version.rb +1 -1
- metadata +27 -27
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b40e1ec2641cec2c860a7de9bb7a5bb9ff8a85bde847cf9520139f288c9883c3
|
|
4
|
+
data.tar.gz: 9c15c4e3153aad9d60782fe748e3e4324ba573307b6ba91f357be9d78cfab3d1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ea35d31fc8722f9955e620fb285fe8376fa57a72d18da0a1de12f44de82cff8ad71f76a0c0ce30b50a63faab4cccccdf095867df19ecf4f841762d7f64da07bc
|
|
7
|
+
data.tar.gz: 04f3fed5093b6388c9e66b7991542fe459cbd2b59dec0d50ad21b7de5e358f7f25445cd9617c748236d1b2ced8cc71aea03a7083b05ea4fccf4a75bf6cc87223
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,42 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.0.18] - 2025-10-08
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Portal Service Authentication**: Fixed SESSION cookie handling to use root sessions directly
|
|
12
|
+
- Portal service now uses root SESSION + SSO_GW_SESSION2 cookies directly instead of attempting to exchange them
|
|
13
|
+
- Removed incorrect cookie extraction from response (Portal doesn't return a new SESSION cookie)
|
|
14
|
+
- Changed from extracting `response.cookies['SESSION']` to using `sessions[:session]` from SSO login
|
|
15
|
+
- Resolves "NO_SESSION_IN_RESPONSE" error when calling `portal.appliances`
|
|
16
|
+
- Matches original implementation behavior where root sessions are used for all Portal API calls
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- Updated `Portal#fetch_new_session` method to return root SESSION cookie directly after verification
|
|
20
|
+
- Test call to `#{portal_endpoint}/?cId=#{customer_id}` now only validates session instead of extracting cookies
|
|
21
|
+
- Log message changed from "REQUESTING_SESSION" to "USING_ROOT_SESSIONS" for clarity
|
|
22
|
+
|
|
23
|
+
### Impact
|
|
24
|
+
- Portal service now works correctly without "Missing SESSION for Portal" errors
|
|
25
|
+
- `portal.appliances` and other Portal API methods now authenticate properly
|
|
26
|
+
- Consistent with other services (CDN, LMS, VMS) that also exchange sessions but Portal uses root sessions directly
|
|
27
|
+
|
|
28
|
+
## [1.0.17] - 2025-10-01
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
- **Redis Dependency Compatibility**: Changed redis dependency from `~> 5.0` to `>= 4.5.0` for compatibility with sidekiq 6.x
|
|
32
|
+
- Resolves version conflict where sidekiq ~> 6.5.8 requires redis < 5
|
|
33
|
+
- Now compatible with both redis 4.x and 5.x versions
|
|
34
|
+
- **Logger Consistency**: Fixed inconsistent identifier access patterns across all service classes
|
|
35
|
+
- Changed direct `@parent.identifier` calls to `@parent.send(:identifier)` for consistency
|
|
36
|
+
- Updated files: vms/analytics.rb, vms/business.rb, vms/transcoding.rb, lms/domain.rb, lms/dashboard.rb
|
|
37
|
+
|
|
38
|
+
### Improved
|
|
39
|
+
- **Documentation Enhancement**: Enhanced RubyDoc documentation for all LMS and VMS partner classes
|
|
40
|
+
- Added detailed method descriptions with parameter formats and return value structures
|
|
41
|
+
- Added practical usage examples for all methods
|
|
42
|
+
- Improved documentation for: LMS::Partner::Business, LMS::Partner::Report, VMS::Partner::Business
|
|
43
|
+
|
|
8
44
|
## [1.0.16] - 2025-10-01
|
|
9
45
|
|
|
10
46
|
### Added
|
data/conversant.gemspec
CHANGED
|
@@ -33,17 +33,17 @@ Gem::Specification.new do |spec|
|
|
|
33
33
|
spec.require_paths = ['lib']
|
|
34
34
|
|
|
35
35
|
# Runtime dependencies
|
|
36
|
-
spec.add_runtime_dependency 'rest-client', '~> 2.1'
|
|
37
|
-
spec.add_runtime_dependency 'redis', '~> 5.0'
|
|
38
36
|
spec.add_runtime_dependency 'json', '~> 2.6'
|
|
37
|
+
spec.add_runtime_dependency 'redis', '>= 4.5.0'
|
|
38
|
+
spec.add_runtime_dependency 'rest-client', '~> 2.1'
|
|
39
39
|
|
|
40
40
|
# Development dependencies
|
|
41
41
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
|
42
|
+
spec.add_development_dependency 'pry', '~> 0.14'
|
|
42
43
|
spec.add_development_dependency 'rake', '~> 13.0'
|
|
43
44
|
spec.add_development_dependency 'rspec', '~> 3.12'
|
|
44
45
|
spec.add_development_dependency 'rubocop', '~> 1.50'
|
|
45
|
-
spec.add_development_dependency 'webmock', '~> 3.18'
|
|
46
46
|
spec.add_development_dependency 'vcr', '~> 6.1'
|
|
47
|
-
spec.add_development_dependency '
|
|
47
|
+
spec.add_development_dependency 'webmock', '~> 3.18'
|
|
48
48
|
spec.add_development_dependency 'yard', '~> 0.9'
|
|
49
|
-
end
|
|
49
|
+
end
|
|
@@ -146,17 +146,18 @@ module Conversant
|
|
|
146
146
|
# Fetches a new SESSION cookie for Portal API access
|
|
147
147
|
#
|
|
148
148
|
# Authenticates with root portal sessions (SESSION + SSO_GW_SESSION2) and
|
|
149
|
-
#
|
|
150
|
-
#
|
|
149
|
+
# uses them directly for Portal API calls. Makes a test call to verify
|
|
150
|
+
# the sessions are valid.
|
|
151
151
|
#
|
|
152
152
|
# @return [String, nil] The SESSION cookie value, or nil if authentication fails
|
|
153
153
|
def fetch_new_session
|
|
154
154
|
sessions = authenticate
|
|
155
155
|
return nil unless sessions && sessions[:session] && sessions[:sso_gw_session2]
|
|
156
156
|
|
|
157
|
-
logger.debug "#{identifier}.METHOD:authorize.
|
|
157
|
+
logger.debug "#{identifier}.METHOD:authorize.USING_ROOT_SESSIONS"
|
|
158
158
|
|
|
159
|
-
|
|
159
|
+
# Make a test call to verify sessions are valid
|
|
160
|
+
RestClient.get(
|
|
160
161
|
"#{portal_endpoint}/?cId=#{customer_id}",
|
|
161
162
|
{
|
|
162
163
|
authority: URI.parse(portal_endpoint).hostname,
|
|
@@ -171,15 +172,11 @@ module Conversant
|
|
|
171
172
|
}
|
|
172
173
|
)
|
|
173
174
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
else
|
|
180
|
-
logger.error "#{identifier}.METHOD:authorize.NO_SESSION_IN_RESPONSE"
|
|
181
|
-
nil
|
|
182
|
-
end
|
|
175
|
+
# Cache and return the root SESSION cookie
|
|
176
|
+
session_cookie = sessions[:session]
|
|
177
|
+
redis.set(session_cache_key, session_cookie, ex: configuration.cache_ttl)
|
|
178
|
+
logger.debug "#{identifier}.METHOD:authorize.SESSION_OBTAINED"
|
|
179
|
+
session_cookie
|
|
183
180
|
rescue RestClient::Unauthorized, RestClient::Forbidden => e
|
|
184
181
|
logger.error "#{identifier}.METHOD:authorize.AUTH_ERROR:#{e.message}"
|
|
185
182
|
nil
|
data/lib/conversant/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,57 +1,57 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: conversant
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.18
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tho Nguyen
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-10-
|
|
11
|
+
date: 2025-10-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: json
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '2.
|
|
19
|
+
version: '2.6'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '2.
|
|
26
|
+
version: '2.6'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: redis
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- - "
|
|
31
|
+
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
33
|
+
version: 4.5.0
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- - "
|
|
38
|
+
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
40
|
+
version: 4.5.0
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: rest-client
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '2.
|
|
47
|
+
version: '2.1'
|
|
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: '2.
|
|
54
|
+
version: '2.1'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: bundler
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -67,61 +67,61 @@ dependencies:
|
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '2.0'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
70
|
+
name: pry
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
73
|
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
75
|
+
version: '0.14'
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
82
|
+
version: '0.14'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
84
|
+
name: rake
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
86
86
|
requirements:
|
|
87
87
|
- - "~>"
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '
|
|
89
|
+
version: '13.0'
|
|
90
90
|
type: :development
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '
|
|
96
|
+
version: '13.0'
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
98
|
+
name: rspec
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
100
100
|
requirements:
|
|
101
101
|
- - "~>"
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: '
|
|
103
|
+
version: '3.12'
|
|
104
104
|
type: :development
|
|
105
105
|
prerelease: false
|
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
107
|
requirements:
|
|
108
108
|
- - "~>"
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: '
|
|
110
|
+
version: '3.12'
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
112
|
+
name: rubocop
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
|
114
114
|
requirements:
|
|
115
115
|
- - "~>"
|
|
116
116
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: '
|
|
117
|
+
version: '1.50'
|
|
118
118
|
type: :development
|
|
119
119
|
prerelease: false
|
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
121
|
requirements:
|
|
122
122
|
- - "~>"
|
|
123
123
|
- !ruby/object:Gem::Version
|
|
124
|
-
version: '
|
|
124
|
+
version: '1.50'
|
|
125
125
|
- !ruby/object:Gem::Dependency
|
|
126
126
|
name: vcr
|
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -137,19 +137,19 @@ dependencies:
|
|
|
137
137
|
- !ruby/object:Gem::Version
|
|
138
138
|
version: '6.1'
|
|
139
139
|
- !ruby/object:Gem::Dependency
|
|
140
|
-
name:
|
|
140
|
+
name: webmock
|
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
|
142
142
|
requirements:
|
|
143
143
|
- - "~>"
|
|
144
144
|
- !ruby/object:Gem::Version
|
|
145
|
-
version: '
|
|
145
|
+
version: '3.18'
|
|
146
146
|
type: :development
|
|
147
147
|
prerelease: false
|
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
149
|
requirements:
|
|
150
150
|
- - "~>"
|
|
151
151
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: '
|
|
152
|
+
version: '3.18'
|
|
153
153
|
- !ruby/object:Gem::Dependency
|
|
154
154
|
name: yard
|
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|