workos 2.2.1 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/lib/workos/audit_trail.rb +1 -0
- data/lib/workos/challenge.rb +1 -1
- data/lib/workos/directory_group.rb +18 -1
- data/lib/workos/directory_sync.rb +3 -0
- data/lib/workos/directory_user.rb +5 -0
- data/lib/workos/factor.rb +1 -6
- data/lib/workos/organizations.rb +1 -0
- data/lib/workos/sso.rb +1 -0
- data/lib/workos/types/challenge_struct.rb +1 -1
- data/lib/workos/types/directory_group_struct.rb +5 -0
- data/lib/workos/types/factor_struct.rb +0 -1
- data/lib/workos/version.rb +1 -1
- data/spec/lib/workos/directory_sync_spec.rb +23 -19
- data/spec/lib/workos/directory_user_spec.rb +36 -0
- data/spec/support/fixtures/vcr_cassettes/directory_sync/get_group.yml +48 -28
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_after.yml +46 -32
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_before.yml +47 -31
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_directory.yml +46 -34
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_limit.yml +41 -31
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_no_options.yml +36 -26
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_user.yml +38 -28
- data/spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_totp_valid.yml +1 -1
- data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_generic_valid.yml +1 -1
- data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_sms_valid.yml +1 -1
- data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_totp_valid.yml +1 -1
- data/spec/support/fixtures/vcr_cassettes/mfa/get_factor_valid.yml +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f7abb4f1d075ea976bbc8577247d36ff763a21dd1b18335daac39a8c80d6acea
|
4
|
+
data.tar.gz: 4c8e6326e7b80773a292754a7030033773470dc12228571cad8b0198a3c8342b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d4c51f21848cb44e0f0326deab050040989811f829b4bbf1c317aca9d08e113c47bd4dbd822faac3f195d8695204fd3acb9a797638a0d9c4f951100964a53e7
|
7
|
+
data.tar.gz: 2b25fd19c5008c27d03a9ab73f6dcb02ba2cd7f133d0726ce46ccadb4928e2805dca1f63dbefd9552ea7ee8ea9acf122a7641dabf48e5199f4f607dcb8754c46
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
workos (2.
|
4
|
+
workos (2.3.0)
|
5
5
|
sorbet-runtime (~> 0.5)
|
6
6
|
|
7
7
|
GEM
|
@@ -60,7 +60,7 @@ GEM
|
|
60
60
|
simplecov_json_formatter (0.1.2)
|
61
61
|
sorbet (0.5.6388)
|
62
62
|
sorbet-static (= 0.5.6388)
|
63
|
-
sorbet-runtime (0.5.
|
63
|
+
sorbet-runtime (0.5.10090)
|
64
64
|
sorbet-static (0.5.6388-universal-darwin-14)
|
65
65
|
sorbet-static (0.5.6388-universal-darwin-15)
|
66
66
|
sorbet-static (0.5.6388-universal-darwin-16)
|
data/lib/workos/audit_trail.rb
CHANGED
@@ -65,6 +65,7 @@ module WorkOS
|
|
65
65
|
# @option options [String] before Event ID to look before
|
66
66
|
# @option options [String] after Event ID to look after
|
67
67
|
# @option options [Integer] limit Number of Events to return
|
68
|
+
# @option options [String] order The order in which to paginate records
|
68
69
|
# @option options [Array<String>] group List of Groups to filter for
|
69
70
|
# @option options [Array<String>] action List of Actions to filter for
|
70
71
|
# @option options [Array<String>] action_type List of Action Types to
|
data/lib/workos/challenge.rb
CHANGED
@@ -16,7 +16,7 @@ module WorkOS
|
|
16
16
|
raw = parse_json(json)
|
17
17
|
@id = T.let(raw.id, String)
|
18
18
|
@object = T.let(raw.object, String)
|
19
|
-
@expires_at = raw.expires_at
|
19
|
+
@expires_at = T.let(raw.expires_at, String)
|
20
20
|
@code = raw.code
|
21
21
|
@authentication_factor_id = T.let(raw.authentication_factor_id, String)
|
22
22
|
@created_at = T.let(raw.created_at, String)
|
@@ -9,22 +9,34 @@ module WorkOS
|
|
9
9
|
include HashProvider
|
10
10
|
extend T::Sig
|
11
11
|
|
12
|
-
attr_accessor :id, :name, :
|
12
|
+
attr_accessor :id, :directory_id, :idp_id, :name, :created_at, :updated_at, :raw_attributes
|
13
13
|
|
14
|
+
# rubocop:disable Metrics/AbcSize
|
14
15
|
sig { params(json: String).void }
|
15
16
|
def initialize(json)
|
16
17
|
raw = parse_json(json)
|
17
18
|
|
18
19
|
@id = T.let(raw.id, String)
|
20
|
+
@directory_id = T.let(raw.directory_id, String)
|
21
|
+
@idp_id = T.let(raw.idp_id, String)
|
19
22
|
@name = T.let(raw.name, String)
|
23
|
+
@created_at = T.let(raw.created_at, String)
|
24
|
+
@updated_at = T.let(raw.updated_at, String)
|
25
|
+
@raw_attributes = raw.raw_attributes
|
20
26
|
|
21
27
|
replace_without_warning(to_json)
|
22
28
|
end
|
29
|
+
# rubocop:enable Metrics/AbcSize
|
23
30
|
|
24
31
|
def to_json(*)
|
25
32
|
{
|
26
33
|
id: id,
|
34
|
+
directory_id: directory_id,
|
35
|
+
idp_id: idp_id,
|
27
36
|
name: name,
|
37
|
+
created_at: created_at,
|
38
|
+
updated_at: updated_at,
|
39
|
+
raw_attributes: raw_attributes,
|
28
40
|
}
|
29
41
|
end
|
30
42
|
|
@@ -40,7 +52,12 @@ module WorkOS
|
|
40
52
|
|
41
53
|
WorkOS::Types::DirectoryGroupStruct.new(
|
42
54
|
id: hash[:id],
|
55
|
+
directory_id: hash[:directory_id],
|
56
|
+
idp_id: hash[:idp_id],
|
43
57
|
name: hash[:name],
|
58
|
+
created_at: hash[:created_at],
|
59
|
+
updated_at: hash[:updated_at],
|
60
|
+
raw_attributes: hash[:raw_attributes],
|
44
61
|
)
|
45
62
|
end
|
46
63
|
end
|
@@ -22,6 +22,7 @@ module WorkOS
|
|
22
22
|
# retrieved.
|
23
23
|
# @option options [String] search A search term for direcory names.
|
24
24
|
# @option options [String] limit Maximum number of records to return.
|
25
|
+
# @option options [String] order The order in which to paginate records
|
25
26
|
# @option options [String] before Pagination cursor to receive records
|
26
27
|
# before a provided Directory ID.
|
27
28
|
# @option options [String] after Pagination cursor to receive records
|
@@ -91,6 +92,7 @@ module WorkOS
|
|
91
92
|
# @option options [String] user The ID of the directory user whose
|
92
93
|
# directory groups will be retrieved.
|
93
94
|
# @option options [String] limit Maximum number of records to return.
|
95
|
+
# @option options [String] order The order in which to paginate records
|
94
96
|
# @option options [String] before Pagination cursor to receive records
|
95
97
|
# before a provided Directory Group ID.
|
96
98
|
# @option options [String] after Pagination cursor to receive records
|
@@ -130,6 +132,7 @@ module WorkOS
|
|
130
132
|
# @option options [String] user The ID of the directory group whose
|
131
133
|
# directory users will be retrieved.
|
132
134
|
# @option options [String] limit Maximum number of records to return.
|
135
|
+
# @option options [String] order The order in which to paginate records
|
133
136
|
# @option options [String] before Pagination cursor to receive records
|
134
137
|
# before a provided Directory User ID.
|
135
138
|
# @option options [String] after Pagination cursor to receive records
|
data/lib/workos/factor.rb
CHANGED
@@ -7,15 +7,13 @@ module WorkOS
|
|
7
7
|
# in DirectoryUser space, and is instantiated internally but exposed.
|
8
8
|
class Factor
|
9
9
|
include HashProvider
|
10
|
-
# rubocop:disable Metrics/AbcSize
|
11
10
|
extend T::Sig
|
12
|
-
attr_accessor :id, :
|
11
|
+
attr_accessor :id, :object, :type, :sms, :totp, :updated_at, :created_at
|
13
12
|
|
14
13
|
sig { params(json: String).void }
|
15
14
|
def initialize(json)
|
16
15
|
raw = parse_json(json)
|
17
16
|
@id = T.let(raw.id, String)
|
18
|
-
@environment_id = T.let(raw.environment_id, String)
|
19
17
|
@object = T.let(raw.object, String)
|
20
18
|
@type = T.let(raw.type, String)
|
21
19
|
@created_at = T.let(raw.created_at, String)
|
@@ -27,7 +25,6 @@ module WorkOS
|
|
27
25
|
def to_json(*)
|
28
26
|
{
|
29
27
|
id: id,
|
30
|
-
environment_id: environment_id,
|
31
28
|
object: object,
|
32
29
|
type: type,
|
33
30
|
totp: totp,
|
@@ -45,7 +42,6 @@ module WorkOS
|
|
45
42
|
|
46
43
|
WorkOS::Types::FactorStruct.new(
|
47
44
|
id: hash[:id],
|
48
|
-
environment_id: hash[:environment_id],
|
49
45
|
object: hash[:object],
|
50
46
|
type: hash[:type],
|
51
47
|
totp: hash[:totp],
|
@@ -54,6 +50,5 @@ module WorkOS
|
|
54
50
|
updated_at: hash[:updated_at],
|
55
51
|
)
|
56
52
|
end
|
57
|
-
# rubocop:enable Metrics/AbcSize
|
58
53
|
end
|
59
54
|
end
|
data/lib/workos/organizations.rb
CHANGED
@@ -21,6 +21,7 @@ module WorkOS
|
|
21
21
|
# @param [String] after A pagination argument used to request
|
22
22
|
# organizations after the provided Organization ID.
|
23
23
|
# @param [Integer] limit A pagination argument used to limit the number
|
24
|
+
# @param [String] order The order in which to paginate records
|
24
25
|
# of listed Organizations that are returned.
|
25
26
|
sig do
|
26
27
|
params(
|
data/lib/workos/sso.rb
CHANGED
@@ -163,6 +163,7 @@ module WorkOS
|
|
163
163
|
# @option options [String] organization_id The id of the organization
|
164
164
|
# of the connections to be retrieved.
|
165
165
|
# @option options [String] limit Maximum number of records to return.
|
166
|
+
# @option options [String] order The order in which to paginate records
|
166
167
|
# @option options [String] before Pagination cursor to receive records
|
167
168
|
# before a provided Connection ID.
|
168
169
|
# @option options [String] after Pagination cursor to receive records
|
@@ -8,7 +8,7 @@ module WorkOS
|
|
8
8
|
class ChallengeStruct < T::Struct
|
9
9
|
const :id, String
|
10
10
|
const :object, String
|
11
|
-
const :expires_at,
|
11
|
+
const :expires_at, String
|
12
12
|
const :code, T.nilable(String)
|
13
13
|
const :authentication_factor_id, String
|
14
14
|
const :created_at, String
|
@@ -7,7 +7,12 @@ module WorkOS
|
|
7
7
|
# for the DirectoryGroup class
|
8
8
|
class DirectoryGroupStruct < T::Struct
|
9
9
|
const :id, String
|
10
|
+
const :directory_id, String
|
11
|
+
const :idp_id, String
|
10
12
|
const :name, String
|
13
|
+
const :created_at, String
|
14
|
+
const :updated_at, String
|
15
|
+
const :raw_attributes, T::Hash[Symbol, Object]
|
11
16
|
end
|
12
17
|
end
|
13
18
|
end
|
data/lib/workos/version.rb
CHANGED
@@ -189,7 +189,7 @@ describe WorkOS::DirectorySync do
|
|
189
189
|
context 'with directory option' do
|
190
190
|
it 'forms the proper request to the API' do
|
191
191
|
request_args = [
|
192
|
-
'/directory_groups?directory=
|
192
|
+
'/directory_groups?directory=directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
|
193
193
|
'Content-Type' => 'application/json'
|
194
194
|
]
|
195
195
|
|
@@ -200,7 +200,7 @@ describe WorkOS::DirectorySync do
|
|
200
200
|
|
201
201
|
VCR.use_cassette 'directory_sync/list_groups/with_directory' do
|
202
202
|
groups = described_class.list_groups(
|
203
|
-
directory: '
|
203
|
+
directory: 'directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
|
204
204
|
)
|
205
205
|
|
206
206
|
expect(groups.data.size).to eq(10)
|
@@ -212,7 +212,7 @@ describe WorkOS::DirectorySync do
|
|
212
212
|
context 'with user option' do
|
213
213
|
it 'forms the proper request to the API' do
|
214
214
|
request_args = [
|
215
|
-
'/directory_groups?user=
|
215
|
+
'/directory_groups?user=directory_user_01G2Z8D4FDB28ZNSRRBVCF2E0P',
|
216
216
|
'Content-Type' => 'application/json'
|
217
217
|
]
|
218
218
|
|
@@ -223,7 +223,7 @@ describe WorkOS::DirectorySync do
|
|
223
223
|
|
224
224
|
VCR.use_cassette 'directory_sync/list_groups/with_user' do
|
225
225
|
groups = described_class.list_groups(
|
226
|
-
user: '
|
226
|
+
user: 'directory_user_01G2Z8D4FDB28ZNSRRBVCF2E0P',
|
227
227
|
)
|
228
228
|
|
229
229
|
expect(groups.data.size).to eq(3)
|
@@ -234,8 +234,8 @@ describe WorkOS::DirectorySync do
|
|
234
234
|
context 'with the before option' do
|
235
235
|
it 'forms the proper request to the API' do
|
236
236
|
request_args = [
|
237
|
-
'/directory_groups?before=
|
238
|
-
'directory=
|
237
|
+
'/directory_groups?before=directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG&' \
|
238
|
+
'directory=directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
|
239
239
|
'Content-Type' => 'application/json'
|
240
240
|
]
|
241
241
|
|
@@ -246,11 +246,11 @@ describe WorkOS::DirectorySync do
|
|
246
246
|
|
247
247
|
VCR.use_cassette 'directory_sync/list_groups/with_before' do
|
248
248
|
groups = described_class.list_groups(
|
249
|
-
before: '
|
250
|
-
directory: '
|
249
|
+
before: 'directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG',
|
250
|
+
directory: 'directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
|
251
251
|
)
|
252
252
|
|
253
|
-
expect(groups.data.size).to eq(
|
253
|
+
expect(groups.data.size).to eq(10)
|
254
254
|
end
|
255
255
|
end
|
256
256
|
end
|
@@ -258,8 +258,8 @@ describe WorkOS::DirectorySync do
|
|
258
258
|
context 'with the after option' do
|
259
259
|
it 'forms the proper request to the API' do
|
260
260
|
request_args = [
|
261
|
-
'/directory_groups?after=
|
262
|
-
'directory=
|
261
|
+
'/directory_groups?after=directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG&' \
|
262
|
+
'directory=directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
|
263
263
|
'Content-Type' => 'application/json'
|
264
264
|
]
|
265
265
|
|
@@ -270,11 +270,11 @@ describe WorkOS::DirectorySync do
|
|
270
270
|
|
271
271
|
VCR.use_cassette 'directory_sync/list_groups/with_after' do
|
272
272
|
groups = described_class.list_groups(
|
273
|
-
after: '
|
274
|
-
directory: '
|
273
|
+
after: 'directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG',
|
274
|
+
directory: 'directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
|
275
275
|
)
|
276
276
|
|
277
|
-
expect(groups.data.size).to eq(
|
277
|
+
expect(groups.data.size).to eq(9)
|
278
278
|
end
|
279
279
|
end
|
280
280
|
end
|
@@ -283,7 +283,7 @@ describe WorkOS::DirectorySync do
|
|
283
283
|
it 'forms the proper request to the API' do
|
284
284
|
request_args = [
|
285
285
|
'/directory_groups?limit=2&' \
|
286
|
-
'directory=
|
286
|
+
'directory=directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
|
287
287
|
'Content-Type' => 'application/json'
|
288
288
|
]
|
289
289
|
|
@@ -295,7 +295,7 @@ describe WorkOS::DirectorySync do
|
|
295
295
|
VCR.use_cassette 'directory_sync/list_groups/with_limit' do
|
296
296
|
groups = described_class.list_groups(
|
297
297
|
limit: 2,
|
298
|
-
directory: '
|
298
|
+
directory: 'directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
|
299
299
|
)
|
300
300
|
|
301
301
|
expect(groups.data.size).to eq(2)
|
@@ -438,11 +438,15 @@ describe WorkOS::DirectorySync do
|
|
438
438
|
it 'returns a group' do
|
439
439
|
VCR.use_cassette('directory_sync/get_group') do
|
440
440
|
group = WorkOS::DirectorySync.get_group(
|
441
|
-
'
|
441
|
+
'directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG',
|
442
442
|
)
|
443
443
|
|
444
|
-
expect(group['
|
445
|
-
expect(group
|
444
|
+
expect(group['directory_id']).to eq('directory_01G2Z8ADK5NPMVTWF48MVVE4HT')
|
445
|
+
expect(group['idp_id']).to eq('01jlao4614two3d')
|
446
|
+
expect(group['name']).to eq('Sales')
|
447
|
+
expect(group.name).to eq('Sales')
|
448
|
+
expect(group['created_at']).to eq('2022-05-13T17:45:31.732Z')
|
449
|
+
expect(group['updated_at']).to eq('2022-06-07T17:45:35.739Z')
|
446
450
|
end
|
447
451
|
end
|
448
452
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# typed: false
|
3
|
+
|
4
|
+
describe WorkOS::DirectoryUser do
|
5
|
+
# rubocop:disable Layout/LineLength
|
6
|
+
describe '.get_primary_email' do
|
7
|
+
context 'with one primary email' do
|
8
|
+
it 'returns the primary email' do
|
9
|
+
user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[{"primary":true,"value":"logan@workos.com"}, {"primary":false,"value":"logan@gmail.com"}],"first_name":"Logan","last_name":"Gingerich","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[]}')
|
10
|
+
expect(user.primary_email).to eq('logan@workos.com')
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'with multiple primary emails' do
|
15
|
+
it 'returns the first email marked as primary' do
|
16
|
+
user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[{"primary":true,"value":"logan@workos.com"}, {"primary":true,"value":"logan@gmail.com"}],"first_name":"Logan","last_name":"Gingerich","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[]}')
|
17
|
+
expect(user.primary_email).to eq('logan@workos.com')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'with no primary emails' do
|
22
|
+
it 'returns nil' do
|
23
|
+
user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[{"primary":false,"value":"logan@gmail.com"}],"first_name":"Logan","last_name":"Gingerich","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[]}')
|
24
|
+
expect(user.primary_email).to eq(nil)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
context 'with an empty email array' do
|
29
|
+
it 'returns nil' do
|
30
|
+
user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[],"first_name":"Logan","last_name":"Gingerich","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[]}')
|
31
|
+
expect(user.primary_email).to eq(nil)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
# rubocop:enable Layout/LineLength
|
36
|
+
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://api.workos.com/directory_groups/
|
5
|
+
uri: https://api.workos.com/directory_groups/directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -14,7 +14,7 @@ http_interactions:
|
|
14
14
|
Accept:
|
15
15
|
- "*/*"
|
16
16
|
User-Agent:
|
17
|
-
- WorkOS; ruby/
|
17
|
+
- WorkOS; ruby/3.0.2; x86_64-darwin19; v2.1.1
|
18
18
|
Authorization:
|
19
19
|
- Bearer <API_KEY>
|
20
20
|
response:
|
@@ -22,41 +22,61 @@ http_interactions:
|
|
22
22
|
code: 200
|
23
23
|
message: OK
|
24
24
|
headers:
|
25
|
-
|
26
|
-
-
|
25
|
+
Date:
|
26
|
+
- Tue, 07 Jun 2022 22:28:37 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Transfer-Encoding:
|
30
|
+
- chunked
|
27
31
|
Connection:
|
28
32
|
- keep-alive
|
29
|
-
Vary:
|
30
|
-
- Origin, Accept-Encoding
|
31
33
|
Access-Control-Allow-Credentials:
|
32
34
|
- 'true'
|
33
|
-
|
34
|
-
- '
|
35
|
-
|
36
|
-
|
35
|
+
Content-Security-Policy:
|
36
|
+
- 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
|
37
|
+
https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
|
38
|
+
''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
|
39
|
+
Etag:
|
40
|
+
- W/"244-4TugYfq6OLpdb2GYu9NN0Z83S0g"
|
41
|
+
Expect-Ct:
|
42
|
+
- max-age=0
|
43
|
+
Referrer-Policy:
|
44
|
+
- no-referrer
|
37
45
|
Strict-Transport-Security:
|
38
46
|
- max-age=15552000; includeSubDomains
|
39
|
-
|
40
|
-
-
|
47
|
+
Vary:
|
48
|
+
- Origin, Accept-Encoding
|
49
|
+
Via:
|
50
|
+
- 1.1 spaces-router (664a92218d61)
|
41
51
|
X-Content-Type-Options:
|
42
52
|
- nosniff
|
43
|
-
X-
|
44
|
-
-
|
53
|
+
X-Dns-Prefetch-Control:
|
54
|
+
- 'off'
|
55
|
+
X-Download-Options:
|
56
|
+
- noopen
|
57
|
+
X-Frame-Options:
|
58
|
+
- SAMEORIGIN
|
59
|
+
X-Permitted-Cross-Domain-Policies:
|
60
|
+
- none
|
45
61
|
X-Request-Id:
|
46
|
-
-
|
47
|
-
|
48
|
-
-
|
49
|
-
|
50
|
-
-
|
51
|
-
|
52
|
-
-
|
53
|
-
|
54
|
-
-
|
55
|
-
|
56
|
-
-
|
62
|
+
- 4a7bfd77-da6c-b1ae-bc39-35a1c175ecf2
|
63
|
+
X-Xss-Protection:
|
64
|
+
- '0'
|
65
|
+
Cf-Cache-Status:
|
66
|
+
- DYNAMIC
|
67
|
+
Report-To:
|
68
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=9nQ%2FpfKZE%2BT1W4WrbQGusRS%2FxZHEG7sB0Ps3PUXt4lmPSmC%2FZHLV6KW90D74Y9VQ0QT7q3OIF47yVIwX5fwPKOHMwcOYQv0eyKUrFYxKkNf6QALpJE7%2BVNSUBiEmv3cZ1zOXUFCiuMl2MYygsw%3D%3D"}],"group":"cf-nel","max_age":604800}'
|
69
|
+
Nel:
|
70
|
+
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
|
71
|
+
Server:
|
72
|
+
- cloudflare
|
73
|
+
Cf-Ray:
|
74
|
+
- 717cd26458fd671d-DFW
|
75
|
+
Alt-Svc:
|
76
|
+
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
|
57
77
|
body:
|
58
|
-
encoding:
|
59
|
-
string: '{"id":"
|
78
|
+
encoding: ASCII-8BIT
|
79
|
+
string: '{"object":"directory_group","id":"directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG","idp_id":"01jlao4614two3d","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Sales","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"01jlao4614two3d","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/uLYJ0Hrx1gXXVg9z-zGLBZET2Wo\"","kind":"admin#directory#group","name":"Sales","email":"sales@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"1","nonEditableAliases":["sales@foo-corp.com.test-google-a.com"]}}'
|
60
80
|
http_version:
|
61
|
-
recorded_at:
|
81
|
+
recorded_at: Tue, 07 Jun 2022 22:28:37 GMT
|
62
82
|
recorded_with: VCR 5.0.0
|