workos 1.2.0 → 1.5.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 +3 -3
- data/lib/workos/client.rb +1 -1
- data/lib/workos/connection.rb +9 -1
- data/lib/workos/directory.rb +12 -1
- data/lib/workos/directory_user.rb +9 -1
- data/lib/workos/errors.rb +13 -2
- data/lib/workos/organization.rb +7 -1
- data/lib/workos/sso.rb +6 -0
- data/lib/workos/types/connection_struct.rb +2 -0
- data/lib/workos/types/directory_struct.rb +3 -0
- data/lib/workos/types/directory_user_struct.rb +2 -0
- data/lib/workos/types/organization_struct.rb +2 -0
- data/lib/workos/types/provider_enum.rb +1 -0
- data/lib/workos/version.rb +1 -1
- data/spec/lib/workos/directory_sync_spec.rb +19 -19
- data/spec/lib/workos/organizations_spec.rb +11 -11
- data/spec/lib/workos/sso_spec.rb +19 -19
- data/spec/support/fixtures/vcr_cassettes/directory_sync/get_user.yml +40 -16
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_after.yml +12 -9
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_before.yml +8 -5
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_domain.yml +8 -8
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_limit.yml +9 -9
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_no_options.yml +23 -10
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_search.yml +8 -8
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_after.yml +128 -28
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_before.yml +31 -18
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_directory.yml +136 -35
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_group.yml +128 -18
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_limit.yml +131 -17
- data/spec/support/fixtures/vcr_cassettes/organization/create.yml +28 -16
- data/spec/support/fixtures/vcr_cassettes/organization/get.yml +27 -16
- data/spec/support/fixtures/vcr_cassettes/organization/list.yml +29 -14
- data/spec/support/fixtures/vcr_cassettes/organization/update.yml +27 -16
- data/spec/support/fixtures/vcr_cassettes/sso/get_connection_with_valid_id.yml +28 -16
- data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_after.yml +25 -15
- data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_before.yml +28 -15
- data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_connection_type.yml +31 -14
- data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_domain.yml +27 -13
- data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_limit.yml +24 -15
- data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_no_options.yml +30 -14
- data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_organization_id.yml +28 -14
- metadata +3 -3
@@ -7,13 +7,13 @@ describe WorkOS::Organizations do
|
|
7
7
|
it 'creates an organization' do
|
8
8
|
VCR.use_cassette 'organization/create' do
|
9
9
|
organization = described_class.create_organization(
|
10
|
-
domains: ['example.
|
10
|
+
domains: ['example.io'],
|
11
11
|
name: 'Test Organization',
|
12
12
|
)
|
13
13
|
|
14
|
-
expect(organization.id).to eq('
|
14
|
+
expect(organization.id).to eq('org_01FCPEJXEZR4DSBA625YMGQT9N')
|
15
15
|
expect(organization.name).to eq('Test Organization')
|
16
|
-
expect(organization.domains.first[:domain]).to eq('example.
|
16
|
+
expect(organization.domains.first[:domain]).to eq('example.io')
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -46,7 +46,7 @@ describe WorkOS::Organizations do
|
|
46
46
|
VCR.use_cassette 'organization/list' do
|
47
47
|
organizations = described_class.list_organizations
|
48
48
|
|
49
|
-
expect(organizations.data.size).to eq(
|
49
|
+
expect(organizations.data.size).to eq(6)
|
50
50
|
expect(organizations.list_metadata).to eq(expected_metadata)
|
51
51
|
end
|
52
52
|
end
|
@@ -69,7 +69,7 @@ describe WorkOS::Organizations do
|
|
69
69
|
before: 'before-id',
|
70
70
|
)
|
71
71
|
|
72
|
-
expect(organizations.data.size).to eq(
|
72
|
+
expect(organizations.data.size).to eq(6)
|
73
73
|
end
|
74
74
|
end
|
75
75
|
end
|
@@ -89,7 +89,7 @@ describe WorkOS::Organizations do
|
|
89
89
|
VCR.use_cassette 'organization/list', match_requests_on: [:path] do
|
90
90
|
organizations = described_class.list_organizations(after: 'after-id')
|
91
91
|
|
92
|
-
expect(organizations.data.size).to eq(
|
92
|
+
expect(organizations.data.size).to eq(6)
|
93
93
|
end
|
94
94
|
end
|
95
95
|
end
|
@@ -109,7 +109,7 @@ describe WorkOS::Organizations do
|
|
109
109
|
VCR.use_cassette 'organization/list', match_requests_on: [:path] do
|
110
110
|
organizations = described_class.list_organizations(limit: 10)
|
111
111
|
|
112
|
-
expect(organizations.data.size).to eq(
|
112
|
+
expect(organizations.data.size).to eq(6)
|
113
113
|
end
|
114
114
|
end
|
115
115
|
end
|
@@ -120,10 +120,10 @@ describe WorkOS::Organizations do
|
|
120
120
|
it 'gets the organization details' do
|
121
121
|
VCR.use_cassette('organization/get') do
|
122
122
|
organization = described_class.get_organization(
|
123
|
-
id: '
|
123
|
+
id: 'org_01F9293WD2PDEEV4Y625XPZVG7',
|
124
124
|
)
|
125
125
|
|
126
|
-
expect(organization.id).to eq('
|
126
|
+
expect(organization.id).to eq('org_01F9293WD2PDEEV4Y625XPZVG7')
|
127
127
|
expect(organization.name).to eq('Foo Corp')
|
128
128
|
expect(organization.domains.first[:domain]).to eq('foo-corp.com')
|
129
129
|
end
|
@@ -149,12 +149,12 @@ describe WorkOS::Organizations do
|
|
149
149
|
it 'creates an organization' do
|
150
150
|
VCR.use_cassette 'organization/update' do
|
151
151
|
organization = described_class.update_organization(
|
152
|
-
organization: '
|
152
|
+
organization: 'org_01F6Q6TFP7RD2PF6J03ANNWDKV',
|
153
153
|
domains: ['example.me'],
|
154
154
|
name: 'Test Organization',
|
155
155
|
)
|
156
156
|
|
157
|
-
expect(organization.id).to eq('
|
157
|
+
expect(organization.id).to eq('org_01F6Q6TFP7RD2PF6J03ANNWDKV')
|
158
158
|
expect(organization.name).to eq('Test Organization')
|
159
159
|
expect(organization.domains.first[:domain]).to eq('example.me')
|
160
160
|
end
|
data/spec/lib/workos/sso_spec.rb
CHANGED
@@ -143,7 +143,7 @@ describe WorkOS::SSO do
|
|
143
143
|
described_class.authorization_url(**args)
|
144
144
|
end.to raise_error(
|
145
145
|
ArgumentError,
|
146
|
-
'Okta is not a valid value. `provider` must be in ["GoogleOAuth"]',
|
146
|
+
'Okta is not a valid value. `provider` must be in ["GoogleOAuth", "MicrosoftOAuth"]',
|
147
147
|
)
|
148
148
|
end
|
149
149
|
end
|
@@ -252,7 +252,7 @@ describe WorkOS::SSO do
|
|
252
252
|
to_return(
|
253
253
|
headers: { 'X-Request-ID' => 'request-id' },
|
254
254
|
status: 422,
|
255
|
-
body: { "
|
255
|
+
body: { "error": 'some error', "error_description": 'some error description' }.to_json,
|
256
256
|
)
|
257
257
|
end
|
258
258
|
|
@@ -261,7 +261,7 @@ describe WorkOS::SSO do
|
|
261
261
|
described_class.profile_and_token(**args)
|
262
262
|
end.to raise_error(
|
263
263
|
WorkOS::APIError,
|
264
|
-
'some error
|
264
|
+
'error: some error, error_description: some error description - request ID: request-id',
|
265
265
|
)
|
266
266
|
end
|
267
267
|
end
|
@@ -271,11 +271,11 @@ describe WorkOS::SSO do
|
|
271
271
|
stub_request(:post, 'https://api.workos.com/sso/token').
|
272
272
|
with(body: request_body).
|
273
273
|
to_return(
|
274
|
-
status:
|
274
|
+
status: 400,
|
275
275
|
headers: { 'X-Request-ID' => 'request-id' },
|
276
276
|
body: {
|
277
|
-
|
278
|
-
|
277
|
+
"error": 'invalid_grant',
|
278
|
+
"error_description": "The code '01DVX3C5Z367SFHR8QNDMK7V24' has expired or is invalid.",
|
279
279
|
}.to_json,
|
280
280
|
)
|
281
281
|
end
|
@@ -285,7 +285,7 @@ describe WorkOS::SSO do
|
|
285
285
|
described_class.profile_and_token(**args)
|
286
286
|
end.to raise_error(
|
287
287
|
WorkOS::APIError,
|
288
|
-
"The code '01DVX3C5Z367SFHR8QNDMK7V24'" \
|
288
|
+
"error: invalid_grant, error_description: The code '01DVX3C5Z367SFHR8QNDMK7V24'" \
|
289
289
|
' has expired or is invalid. - request ID: request-id',
|
290
290
|
)
|
291
291
|
end
|
@@ -303,7 +303,7 @@ describe WorkOS::SSO do
|
|
303
303
|
VCR.use_cassette 'sso/list_connections/with_no_options' do
|
304
304
|
connections = described_class.list_connections
|
305
305
|
|
306
|
-
expect(connections.data.size).to eq(
|
306
|
+
expect(connections.data.size).to eq(6)
|
307
307
|
expect(connections.list_metadata).to eq(expected_metadata)
|
308
308
|
end
|
309
309
|
end
|
@@ -326,7 +326,7 @@ describe WorkOS::SSO do
|
|
326
326
|
connection_type: 'OktaSAML',
|
327
327
|
)
|
328
328
|
|
329
|
-
expect(connections.data.size).to eq(
|
329
|
+
expect(connections.data.size).to eq(10)
|
330
330
|
expect(connections.data.first.connection_type).to eq('OktaSAML')
|
331
331
|
end
|
332
332
|
end
|
@@ -357,7 +357,7 @@ describe WorkOS::SSO do
|
|
357
357
|
context 'with organization_id option' do
|
358
358
|
it 'forms the proper request to the API' do
|
359
359
|
request_args = [
|
360
|
-
'/connections?organization_id=
|
360
|
+
'/connections?organization_id=org_01F9293WD2PDEEV4Y625XPZVG7',
|
361
361
|
'Content-Type' => 'application/json'
|
362
362
|
]
|
363
363
|
|
@@ -368,12 +368,12 @@ describe WorkOS::SSO do
|
|
368
368
|
|
369
369
|
VCR.use_cassette 'sso/list_connections/with_organization_id' do
|
370
370
|
connections = described_class.list_connections(
|
371
|
-
organization_id: '
|
371
|
+
organization_id: 'org_01F9293WD2PDEEV4Y625XPZVG7',
|
372
372
|
)
|
373
373
|
|
374
374
|
expect(connections.data.size).to eq(1)
|
375
375
|
expect(connections.data.first.organization_id).to eq(
|
376
|
-
'
|
376
|
+
'org_01F9293WD2PDEEV4Y625XPZVG7',
|
377
377
|
)
|
378
378
|
end
|
379
379
|
end
|
@@ -404,7 +404,7 @@ describe WorkOS::SSO do
|
|
404
404
|
context 'with before option' do
|
405
405
|
it 'forms the proper request to the API' do
|
406
406
|
request_args = [
|
407
|
-
'/connections?before=
|
407
|
+
'/connections?before=conn_01FA3WGCWPCCY1V2FGES2FDNP7',
|
408
408
|
'Content-Type' => 'application/json'
|
409
409
|
]
|
410
410
|
|
@@ -415,7 +415,7 @@ describe WorkOS::SSO do
|
|
415
415
|
|
416
416
|
VCR.use_cassette 'sso/list_connections/with_before' do
|
417
417
|
connections = described_class.list_connections(
|
418
|
-
before: '
|
418
|
+
before: 'conn_01FA3WGCWPCCY1V2FGES2FDNP7',
|
419
419
|
)
|
420
420
|
|
421
421
|
expect(connections.data.size).to eq(3)
|
@@ -426,7 +426,7 @@ describe WorkOS::SSO do
|
|
426
426
|
context 'with after option' do
|
427
427
|
it 'forms the proper request to the API' do
|
428
428
|
request_args = [
|
429
|
-
'/connections?after=
|
429
|
+
'/connections?after=conn_01FA3WGCWPCCY1V2FGES2FDNP7',
|
430
430
|
'Content-Type' => 'application/json'
|
431
431
|
]
|
432
432
|
|
@@ -437,10 +437,10 @@ describe WorkOS::SSO do
|
|
437
437
|
|
438
438
|
VCR.use_cassette 'sso/list_connections/with_after' do
|
439
439
|
connections = described_class.list_connections(
|
440
|
-
after: '
|
440
|
+
after: 'conn_01FA3WGCWPCCY1V2FGES2FDNP7',
|
441
441
|
)
|
442
442
|
|
443
|
-
expect(connections.data.size).to eq(
|
443
|
+
expect(connections.data.size).to eq(2)
|
444
444
|
end
|
445
445
|
end
|
446
446
|
end
|
@@ -451,10 +451,10 @@ describe WorkOS::SSO do
|
|
451
451
|
it 'gets the connection details' do
|
452
452
|
VCR.use_cassette('sso/get_connection_with_valid_id') do
|
453
453
|
connection = WorkOS::SSO.get_connection(
|
454
|
-
id: '
|
454
|
+
id: 'conn_01FA3WGCWPCCY1V2FGES2FDNP7',
|
455
455
|
)
|
456
456
|
|
457
|
-
expect(connection.id).to eq('
|
457
|
+
expect(connection.id).to eq('conn_01FA3WGCWPCCY1V2FGES2FDNP7')
|
458
458
|
expect(connection.connection_type).to eq('OktaSAML')
|
459
459
|
expect(connection.name).to eq('Foo Corp')
|
460
460
|
expect(connection.domains.first[:domain]).to eq('foo-corp.com')
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://api.workos.com/directory_users/
|
5
|
+
uri: https://api.workos.com/directory_users/directory_user_01FAZYNPC8M0HRYTKFP2GNX852
|
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.1; x86_64-darwin19; v1.4.0
|
18
18
|
Authorization:
|
19
19
|
- Bearer <API_KEY>
|
20
20
|
response:
|
@@ -22,16 +22,26 @@ http_interactions:
|
|
22
22
|
code: 200
|
23
23
|
message: OK
|
24
24
|
headers:
|
25
|
-
|
26
|
-
-
|
25
|
+
Date:
|
26
|
+
- Mon, 09 Aug 2021 17:36:13 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Transfer-Encoding:
|
30
|
+
- chunked
|
27
31
|
Connection:
|
28
32
|
- keep-alive
|
29
33
|
Vary:
|
30
34
|
- Origin, Accept-Encoding
|
31
35
|
Access-Control-Allow-Credentials:
|
32
36
|
- 'true'
|
37
|
+
Content-Security-Policy:
|
38
|
+
- 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
|
39
|
+
https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
|
40
|
+
''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
|
33
41
|
X-Dns-Prefetch-Control:
|
34
42
|
- 'off'
|
43
|
+
Expect-Ct:
|
44
|
+
- max-age=0
|
35
45
|
X-Frame-Options:
|
36
46
|
- SAMEORIGIN
|
37
47
|
Strict-Transport-Security:
|
@@ -40,23 +50,37 @@ http_interactions:
|
|
40
50
|
- noopen
|
41
51
|
X-Content-Type-Options:
|
42
52
|
- nosniff
|
53
|
+
X-Permitted-Cross-Domain-Policies:
|
54
|
+
- none
|
55
|
+
Referrer-Policy:
|
56
|
+
- no-referrer
|
43
57
|
X-Xss-Protection:
|
44
|
-
-
|
58
|
+
- '0'
|
45
59
|
X-Request-Id:
|
46
|
-
-
|
47
|
-
Content-Type:
|
48
|
-
- application/json; charset=utf-8
|
49
|
-
Content-Length:
|
50
|
-
- '368'
|
60
|
+
- 59862449-73e5-4dfd-93ab-3764b1917801
|
51
61
|
Etag:
|
52
|
-
- W/"
|
53
|
-
Date:
|
54
|
-
- Thu, 30 Apr 2020 04:43:14 GMT
|
62
|
+
- W/"4c3-Ikxt2N0fUuSxCjv+RdYvW8W9Xwo"
|
55
63
|
Via:
|
56
64
|
- 1.1 vegur
|
65
|
+
Cf-Cache-Status:
|
66
|
+
- DYNAMIC
|
67
|
+
Report-To:
|
68
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=m6%2FJ3BJ75VMwSOtfDQXjt%2FoL29FI%2Bv5VswhZzg6LVkOQi7nyI19Sks%2FkDGCDrSQ%2FMtyU6DI4OFWR9RB1I04IGdhehsY2oPGugIj%2BhHMiJdQEcE6vPAsuaF1HyVnXGvMgRYdurEW1Jr7rSYBWeA%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
|
+
- 67c2bed0ebe6c7e6-DFW
|
75
|
+
Alt-Svc:
|
76
|
+
- h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443";
|
77
|
+
ma=86400
|
57
78
|
body:
|
58
|
-
encoding:
|
59
|
-
string: '{"
|
79
|
+
encoding: ASCII-8BIT
|
80
|
+
string: '{"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"}],"first_name":"Logan","last_name":"Gingerich","state":"active","raw_attributes":{"id":"6092c280a3f1e19ef6d8cef8","name":"Logan
|
81
|
+
Paul Gingerich","teams":["5f696c8e9a63a60e965aaca8"],"spokeId":null,"lastName":"Gingerich","createdAt":"2021-05-05T16:06:24+0000","firstName":"Logan","updatedAt":"2021-07-19T19:17:52+0000","workEmail":"logan@workos.com","department":"Infra","departmentId":"5f27ada9a5e9bc0001a0ae4a"},"custom_attributes":{"department":"Infra"},"groups":[{"object":"directory_group","id":"directory_group_01FAZYNN1NZWMBRAXXDSTB5NFH","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","name":"Department
|
82
|
+
- Infra","raw_attributes":{"id":"5f27ada9a5e9bc0001a0ae4a","name":"Infra","parent":"5f27ada9a5e9bc0001a0ae48"}},{"object":"directory_group","id":"directory_group_01FAZYNNQ4HQ6EBF29MPTH7VKB","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","name":"Team
|
83
|
+
- Platform","raw_attributes":{"id":"5f696c8e9a63a60e965aaca8","name":"Platform","parent":null}}]}'
|
60
84
|
http_version:
|
61
|
-
recorded_at:
|
85
|
+
recorded_at: Mon, 09 Aug 2021 17:36:13 GMT
|
62
86
|
recorded_with: VCR 5.0.0
|
@@ -14,7 +14,7 @@ http_interactions:
|
|
14
14
|
Accept:
|
15
15
|
- "*/*"
|
16
16
|
User-Agent:
|
17
|
-
- WorkOS; ruby/
|
17
|
+
- WorkOS; ruby/3.0.1; x86_64-darwin19; v1.2.1
|
18
18
|
Authorization:
|
19
19
|
- Bearer <API_KEY>
|
20
20
|
response:
|
@@ -53,20 +53,23 @@ http_interactions:
|
|
53
53
|
X-Xss-Protection:
|
54
54
|
- '0'
|
55
55
|
X-Request-Id:
|
56
|
-
-
|
56
|
+
- 167e0fa2-cee2-4834-a0aa-4f68fd0a3796
|
57
57
|
Content-Type:
|
58
58
|
- application/json; charset=utf-8
|
59
|
+
Content-Length:
|
60
|
+
- '784'
|
59
61
|
Etag:
|
60
|
-
- W/"
|
62
|
+
- W/"310-fBrsCTIA95j4JLo4UR8X2zBThYQ"
|
61
63
|
Date:
|
62
|
-
-
|
63
|
-
Transfer-Encoding:
|
64
|
-
- chunked
|
64
|
+
- Mon, 07 Jun 2021 17:55:30 GMT
|
65
65
|
Via:
|
66
66
|
- 1.1 vegur
|
67
67
|
body:
|
68
|
-
encoding:
|
69
|
-
string: '{"object":"list","listMetadata":{"before":
|
68
|
+
encoding: UTF-8
|
69
|
+
string: '{"object":"list","listMetadata":{"before":null,"after":null},"data":[{"object":"directory","id":"directory_01F7796W20KW0CXEQQEYENT0ZC","organization_id":"org_01EZDF20TZEJXKPSX2BJRN6TV6","name":"Bamboo
|
70
|
+
Test","external_key":"rPzV4pdpbaUiKsc6","type":"bamboohr","state":"unlinked","domain":"foo-corp.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"},{"object":"directory","id":"directory_01F5ZY7XVQZ3DRYEZTH1EPA8BS","organization_id":"org_01EZDF20TZEJXKPSX2BJRN6TV6","name":"Foo
|
71
|
+
Corp","external_key":"qV4eyK99QGUaYYa0","type":"okta scim v2.0","state":"linked","domain":"foo-corp.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"},{"object":"directory","id":"directory_01F5XHH1QHX6C2F0Z6WG9YPGCJ","organization_id":"org_01F29YJ068E52HGEB8ZQGC9MJG","name":"Example
|
72
|
+
Azure SCIM","external_key":"YDKJvbWHKKg66cSk","type":"azure scim v2.0","state":"linked","domain":"example.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"}]}'
|
70
73
|
http_version:
|
71
|
-
recorded_at:
|
74
|
+
recorded_at: Mon, 07 Jun 2021 17:55:30 GMT
|
72
75
|
recorded_with: VCR 5.0.0
|
@@ -14,7 +14,7 @@ http_interactions:
|
|
14
14
|
Accept:
|
15
15
|
- "*/*"
|
16
16
|
User-Agent:
|
17
|
-
- WorkOS; ruby/
|
17
|
+
- WorkOS; ruby/3.0.1; x86_64-darwin19; v1.2.1
|
18
18
|
Authorization:
|
19
19
|
- Bearer <API_KEY>
|
20
20
|
response:
|
@@ -53,7 +53,7 @@ http_interactions:
|
|
53
53
|
X-Xss-Protection:
|
54
54
|
- '0'
|
55
55
|
X-Request-Id:
|
56
|
-
-
|
56
|
+
- d5e27591-7a56-468c-bffe-3a035f3bf26c
|
57
57
|
Content-Type:
|
58
58
|
- application/json; charset=utf-8
|
59
59
|
Content-Length:
|
@@ -61,12 +61,15 @@ http_interactions:
|
|
61
61
|
Etag:
|
62
62
|
- W/"47-5KOnfOsRy36pnaPjBxvaf6LRiGc"
|
63
63
|
Date:
|
64
|
-
-
|
64
|
+
- Mon, 07 Jun 2021 17:55:30 GMT
|
65
65
|
Via:
|
66
66
|
- 1.1 vegur
|
67
67
|
body:
|
68
68
|
encoding: UTF-8
|
69
|
-
string: '{"object":"list","listMetadata":{"before":
|
69
|
+
string: '{"object":"list","listMetadata":{"before":null,"after":null},"data":[{"object":"directory","id":"directory_01F7796W20KW0CXEQQEYENT0ZC","organization_id":"org_01EZDF20TZEJXKPSX2BJRN6TV6","name":"Bamboo
|
70
|
+
Test","external_key":"rPzV4pdpbaUiKsc6","type":"bamboohr","state":"unlinked","domain":"foo-corp.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"},{"object":"directory","id":"directory_01F5ZY7XVQZ3DRYEZTH1EPA8BS","organization_id":"org_01EZDF20TZEJXKPSX2BJRN6TV6","name":"Foo
|
71
|
+
Corp","external_key":"qV4eyK99QGUaYYa0","type":"okta scim v2.0","state":"linked","domain":"foo-corp.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"},{"object":"directory","id":"directory_01F5XHH1QHX6C2F0Z6WG9YPGCJ","organization_id":"org_01F29YJ068E52HGEB8ZQGC9MJG","name":"Example
|
72
|
+
Azure SCIM","external_key":"YDKJvbWHKKg66cSk","type":"azure scim v2.0","state":"linked","domain":"example.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"}]}'
|
70
73
|
http_version:
|
71
|
-
recorded_at:
|
74
|
+
recorded_at: Mon, 07 Jun 2021 17:55:30 GMT
|
72
75
|
recorded_with: VCR 5.0.0
|
@@ -14,7 +14,7 @@ http_interactions:
|
|
14
14
|
Accept:
|
15
15
|
- "*/*"
|
16
16
|
User-Agent:
|
17
|
-
- WorkOS; ruby/
|
17
|
+
- WorkOS; ruby/3.0.1; x86_64-darwin19; v1.2.1
|
18
18
|
Authorization:
|
19
19
|
- Bearer <API_KEY>
|
20
20
|
response:
|
@@ -53,21 +53,21 @@ http_interactions:
|
|
53
53
|
X-Xss-Protection:
|
54
54
|
- '0'
|
55
55
|
X-Request-Id:
|
56
|
-
-
|
56
|
+
- d3cd212f-5dc1-4e08-ab1f-69e33bebd9ca
|
57
57
|
Content-Type:
|
58
58
|
- application/json; charset=utf-8
|
59
59
|
Content-Length:
|
60
|
-
- '
|
60
|
+
- '539'
|
61
61
|
Etag:
|
62
|
-
- W/"
|
62
|
+
- W/"21b-d3KisYEu0vvI9FJFreAktGIgT+c"
|
63
63
|
Date:
|
64
|
-
-
|
64
|
+
- Mon, 07 Jun 2021 17:55:29 GMT
|
65
65
|
Via:
|
66
66
|
- 1.1 vegur
|
67
67
|
body:
|
68
68
|
encoding: UTF-8
|
69
|
-
string: '{"object":"list","listMetadata":{"before":null,"after":null},"data":[{"object":"directory","id":"
|
70
|
-
Corp","external_key":"
|
69
|
+
string: '{"object":"list","listMetadata":{"before":null,"after":null},"data":[{"object":"directory","id":"directory_01F5ZY7XVQZ3DRYEZTH1EPA8BS","organization_id":"org_01EZDF20TZEJXKPSX2BJRN6TV6","name":"Foo
|
70
|
+
Corp","external_key":"qV4eyK99QGUaYYa0","type":"okta scim v2.0","state":"linked","domain":"foo-corp.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"}]}'
|
71
71
|
http_version:
|
72
|
-
recorded_at:
|
72
|
+
recorded_at: Mon, 07 Jun 2021 17:55:29 GMT
|
73
73
|
recorded_with: VCR 5.0.0
|
@@ -14,7 +14,7 @@ http_interactions:
|
|
14
14
|
Accept:
|
15
15
|
- "*/*"
|
16
16
|
User-Agent:
|
17
|
-
- WorkOS; ruby/
|
17
|
+
- WorkOS; ruby/3.0.1; x86_64-darwin19; v1.2.1
|
18
18
|
Authorization:
|
19
19
|
- Bearer <API_KEY>
|
20
20
|
response:
|
@@ -53,22 +53,22 @@ http_interactions:
|
|
53
53
|
X-Xss-Protection:
|
54
54
|
- '0'
|
55
55
|
X-Request-Id:
|
56
|
-
-
|
56
|
+
- 64e81466-93f3-4496-a218-53982dbf6614
|
57
57
|
Content-Type:
|
58
58
|
- application/json; charset=utf-8
|
59
59
|
Content-Length:
|
60
|
-
- '
|
60
|
+
- '573'
|
61
61
|
Etag:
|
62
|
-
- W/"
|
62
|
+
- W/"23d-dw0vE9mpthzl0ajnZ3YLimmU4ZU"
|
63
63
|
Date:
|
64
|
-
-
|
64
|
+
- Mon, 07 Jun 2021 17:55:31 GMT
|
65
65
|
Via:
|
66
66
|
- 1.1 vegur
|
67
67
|
body:
|
68
68
|
encoding: UTF-8
|
69
|
-
string: '{"object":"list","listMetadata":{"before":"
|
70
|
-
|
71
|
-
|
69
|
+
string: '{"object":"list","listMetadata":{"before":"directory_01F5ZY7XVQZ3DRYEZTH1EPA8BS","after":null},"data":[{"object":"directory","id":"directory_01F7796W20KW0CXEQQEYENT0ZC","organization_id":"org_01EZDF20TZEJXKPSX2BJRN6TV6","name":"Bamboo
|
70
|
+
Test","external_key":"rPzV4pdpbaUiKsc6","type":"bamboohr","state":"unlinked","domain":"foo-corp.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"},{"object":"directory","id":"directory_01F5ZY7XVQZ3DRYEZTH1EPA8BS","organization_id":"org_01EZDF20TZEJXKPSX2BJRN6TV6","name":"Foo
|
71
|
+
Corp","external_key":"qV4eyK99QGUaYYa0","type":"okta scim v2.0","state":"linked","domain":"foo-corp.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"}]}'
|
72
72
|
http_version:
|
73
|
-
recorded_at:
|
73
|
+
recorded_at: Mon, 07 Jun 2021 17:55:31 GMT
|
74
74
|
recorded_with: VCR 5.0.0
|