workos 1.2.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/lib/workos/client.rb +1 -1
  4. data/lib/workos/connection.rb +9 -1
  5. data/lib/workos/directory.rb +12 -1
  6. data/lib/workos/directory_user.rb +9 -1
  7. data/lib/workos/errors.rb +13 -2
  8. data/lib/workos/organization.rb +7 -1
  9. data/lib/workos/sso.rb +6 -0
  10. data/lib/workos/types/connection_struct.rb +2 -0
  11. data/lib/workos/types/directory_struct.rb +3 -0
  12. data/lib/workos/types/directory_user_struct.rb +2 -0
  13. data/lib/workos/types/organization_struct.rb +2 -0
  14. data/lib/workos/types/provider_enum.rb +1 -0
  15. data/lib/workos/version.rb +1 -1
  16. data/spec/lib/workos/directory_sync_spec.rb +19 -19
  17. data/spec/lib/workos/organizations_spec.rb +11 -11
  18. data/spec/lib/workos/sso_spec.rb +19 -19
  19. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_user.yml +40 -16
  20. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_after.yml +12 -9
  21. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_before.yml +8 -5
  22. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_domain.yml +8 -8
  23. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_limit.yml +9 -9
  24. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_no_options.yml +23 -10
  25. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_search.yml +8 -8
  26. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_after.yml +128 -28
  27. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_before.yml +31 -18
  28. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_directory.yml +136 -35
  29. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_group.yml +128 -18
  30. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_limit.yml +131 -17
  31. data/spec/support/fixtures/vcr_cassettes/organization/create.yml +28 -16
  32. data/spec/support/fixtures/vcr_cassettes/organization/get.yml +27 -16
  33. data/spec/support/fixtures/vcr_cassettes/organization/list.yml +29 -14
  34. data/spec/support/fixtures/vcr_cassettes/organization/update.yml +27 -16
  35. data/spec/support/fixtures/vcr_cassettes/sso/get_connection_with_valid_id.yml +28 -16
  36. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_after.yml +25 -15
  37. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_before.yml +28 -15
  38. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_connection_type.yml +31 -14
  39. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_domain.yml +27 -13
  40. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_limit.yml +24 -15
  41. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_no_options.yml +30 -14
  42. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_organization_id.yml +28 -14
  43. 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.com'],
10
+ domains: ['example.io'],
11
11
  name: 'Test Organization',
12
12
  )
13
13
 
14
- expect(organization.id).to eq('org_01EHT88Z8J8795GZNQ4ZP1J81T')
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.com')
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(7)
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(7)
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(7)
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(7)
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: 'org_01EZDF20TZEJXKPSX2BJRN6TV6',
123
+ id: 'org_01F9293WD2PDEEV4Y625XPZVG7',
124
124
  )
125
125
 
126
- expect(organization.id).to eq('org_01EZDF20TZEJXKPSX2BJRN6TV6')
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: 'org_01F29YJ068E52HGEB8ZQGC9MJG',
152
+ organization: 'org_01F6Q6TFP7RD2PF6J03ANNWDKV',
153
153
  domains: ['example.me'],
154
154
  name: 'Test Organization',
155
155
  )
156
156
 
157
- expect(organization.id).to eq('org_01F29YJ068E52HGEB8ZQGC9MJG')
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
@@ -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: { "message": 'some error message' }.to_json,
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 message - request ID: request-id',
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: 201,
274
+ status: 400,
275
275
  headers: { 'X-Request-ID' => 'request-id' },
276
276
  body: {
277
- message: "The code '01DVX3C5Z367SFHR8QNDMK7V24'" \
278
- ' has expired or is invalid.',
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(3)
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(3)
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=org_01EGS4P7QR31EZ4YWD1Z1XA176',
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: 'org_01EGS4P7QR31EZ4YWD1Z1XA176',
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
- 'org_01EGS4P7QR31EZ4YWD1Z1XA176',
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=conn_01EQKPMQAPV02H270HKVNS4CTA',
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: 'conn_01EQKPMQAPV02H270HKVNS4CTA',
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=conn_01EQKPMQAPV02H270HKVNS4CTA',
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: 'conn_01EQKPMQAPV02H270HKVNS4CTA',
440
+ after: 'conn_01FA3WGCWPCCY1V2FGES2FDNP7',
441
441
  )
442
442
 
443
- expect(connections.data.size).to eq(3)
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: 'conn_01EX00NB050H354WKGC7990AR2',
454
+ id: 'conn_01FA3WGCWPCCY1V2FGES2FDNP7',
455
455
  )
456
456
 
457
- expect(connection.id).to eq('conn_01EX00NB050H354WKGC7990AR2')
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/directory_usr_01E64QS50EAY48S0XJ1AA4WX4D
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/2.7.1; x86_64-darwin19; v0.2.3
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
- Server:
26
- - Cowboy
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
- - 1; mode=block
58
+ - '0'
45
59
  X-Request-Id:
46
- - fe3f582a-b944-4f2c-a225-ae3a7f099fa0
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/"170-JjGTDHa7GqXeAwXcua+s3+2z/oA"
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: UTF-8
59
- string: '{"id":"directory_usr_01E64QS50EAY48S0XJ1AA4WX4D","raw_attributes":{"name":{"givenName":"Mark","familyName":"Tran"},"emails":[{"value":"mark@foo-corp.com","primary":true}],"userName":"mark@foo-corp.com","externalId":"118325297729072421906"},"first_name":"Mark","emails":[{"value":"mark@foo-corp.com","primary":true}],"username":"mark@foo-corp.com","last_name":"Tran"}'
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: Thu, 30 Apr 2020 04:43:15 GMT
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/2.7.1; x86_64-darwin19; v0.10.3
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
- - 1e6d2f37-ca39-4e6c-8d04-4a56fed444ce
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/"7dc-9PMr4siidbvsdQqw0uiJT6E94Dc"
62
+ - W/"310-fBrsCTIA95j4JLo4UR8X2zBThYQ"
61
63
  Date:
62
- - Thu, 22 Apr 2021 21:33:48 GMT
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: ASCII-8BIT
69
- string: '{"object":"list","listMetadata":{"before":"before-id","after":null},"data":[{"object":"directory","id":"directory_edp_1","external_key":"lA3gS1kCZMCkk82E","state":"linked","type":"gsuite directory","name":"Foo Corp","bearer_token":null,"client_id":"project_XXX","domain":"foo-corp.com"}, {"object":"directory","id":"directory_edp_2","external_key":"lA3g","state":"linked","type":"okta scim v2.0","name":"Example", "bearer_token":null,"client_id":"project_XXX","domain":"example.com"}, {"object":"directory","id":"directory_edp_3","external_key":"lA3gS1kC","state":"linked","type":"bamboohr","name":"Acme","bearer_token":null,"client_id":"project_XXX","domain":"acme.com"}]}'
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: Thu, 22 Apr 2021 21:33:49 GMT
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/2.7.1; x86_64-darwin19; v0.10.3
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
- - ee432766-24b5-4d6d-baa9-05b7d56ac582
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
- - Thu, 22 Apr 2021 21:33:48 GMT
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":"before-id","after":null},"data":[{"object":"directory","id":"directory_edp_1","external_key":"lA3gS1kCZMCkk82E","state":"linked","type":"gsuite directory","name":"Foo Corp","bearer_token":null,"client_id":"project_XXX","domain":"foo-corp.com"}, {"object":"directory","id":"directory_edp_2","external_key":"lA3g","state":"linked","type":"okta scim v2.0","name":"Example", "bearer_token":null,"client_id":"project_XXX","domain":"example.com"}, {"object":"directory","id":"directory_edp_3","external_key":"lA3gS1kC","state":"linked","type":"bamboohr","name":"Acme","bearer_token":null,"client_id":"project_XXX","domain":"acme.com"}]}'
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: Thu, 22 Apr 2021 21:33:48 GMT
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/2.7.1; x86_64-darwin19; v0.10.3
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
- - c2664753-7a2a-499f-a6e7-dae700ad49d7
56
+ - d3cd212f-5dc1-4e08-ab1f-69e33bebd9ca
57
57
  Content-Type:
58
58
  - application/json; charset=utf-8
59
59
  Content-Length:
60
- - '256'
60
+ - '539'
61
61
  Etag:
62
- - W/"100-Vh8CFQGzG+aGyEkNXe2nXGxNFJ4"
62
+ - W/"21b-d3KisYEu0vvI9FJFreAktGIgT+c"
63
63
  Date:
64
- - Thu, 22 Apr 2021 21:33:47 GMT
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":"directory_01EK2YEMVTWGX27STRDR0N3MP9","name":"Foo
70
- Corp","external_key":"SZ5TZMl7gcOAKS04","type":"gsuite directory","state":"linked","domain":"foo-corp.com"}]}'
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: Thu, 22 Apr 2021 21:33:47 GMT
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/2.7.1; x86_64-darwin19; v0.10.3
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
- - 428c7b66-d05a-4055-8bad-3411cce2af98
56
+ - 64e81466-93f3-4496-a218-53982dbf6614
57
57
  Content-Type:
58
58
  - application/json; charset=utf-8
59
59
  Content-Length:
60
- - '509'
60
+ - '573'
61
61
  Etag:
62
- - W/"1fd-xSekCggfEeBaxDK/LwXVh/ANf8E"
62
+ - W/"23d-dw0vE9mpthzl0ajnZ3YLimmU4ZU"
63
63
  Date:
64
- - Thu, 22 Apr 2021 21:33:49 GMT
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":"directory_01F3DR5PASNQN7Z41K933Q12BM","after":null},"data":[{"object":"directory","id":"directory_01F3TMHZ5786V0BW141Q3G6XWX","name":"NEW
70
- Azure AD SCIM","external_key":"RfEhaHYmukAQgqME","type":"azure scim v2.0","state":"linked","domain":"sheldonvaughn.com"},{"object":"directory","id":"directory_01F3DR5PASNQN7Z41K933Q12BM","name":"Example
71
- Workday Company, Inc.","external_key":"NGGpjT9hQsiSgOKc","type":"workday","state":"unlinked","domain":"domain.example.com"}]}'
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: Thu, 22 Apr 2021 21:33:49 GMT
73
+ recorded_at: Mon, 07 Jun 2021 17:55:31 GMT
74
74
  recorded_with: VCR 5.0.0