workos 1.2.1 → 1.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/directory.rb +4 -1
- data/lib/workos/directory_user.rb +6 -1
- data/lib/workos/errors.rb +13 -2
- data/lib/workos/sso.rb +6 -0
- data/lib/workos/types/directory_struct.rb +1 -0
- data/lib/workos/types/directory_user_struct.rb +1 -0
- data/lib/workos/version.rb +1 -1
- data/spec/lib/workos/sso_spec.rb +6 -6
- 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
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82fc158535f666670ec2f6f71edd889c24be6a3c9488ffad6c4822f45b9f6ece
|
4
|
+
data.tar.gz: d613fb8b9284124c6720c5f95320a205a1e061291a353befa629a0ee1f74151b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da3e7172612b651a5fd36854deaa480c1bb27032fae2d202bf16eefbfb3914659caa5ce47b1ea8cdac8d8c6cb4995497843ff48f800d870da52ad32f20427323
|
7
|
+
data.tar.gz: ab046cdf757eb36e1711c34a56764bfa74265888c605d40a681e75e6184290198cf8249212e6ae316016e72107f7a34f9135330380ac24394c731cc934f0795b
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
workos (1.
|
4
|
+
workos (1.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.6433)
|
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/directory.rb
CHANGED
@@ -8,7 +8,7 @@ module WorkOS
|
|
8
8
|
class Directory
|
9
9
|
extend T::Sig
|
10
10
|
|
11
|
-
attr_accessor :id, :domain, :name, :type, :state
|
11
|
+
attr_accessor :id, :domain, :name, :type, :state, :organization_id
|
12
12
|
|
13
13
|
sig { params(json: String).void }
|
14
14
|
def initialize(json)
|
@@ -19,6 +19,7 @@ module WorkOS
|
|
19
19
|
@domain = T.let(raw.domain, String)
|
20
20
|
@type = T.let(raw.type, String)
|
21
21
|
@state = T.let(raw.state, String)
|
22
|
+
@organization_id = T.let(raw.organization_id, String)
|
22
23
|
end
|
23
24
|
|
24
25
|
def to_json(*)
|
@@ -28,6 +29,7 @@ module WorkOS
|
|
28
29
|
domain: domain,
|
29
30
|
type: type,
|
30
31
|
state: state,
|
32
|
+
organization_id: organization_id,
|
31
33
|
}
|
32
34
|
end
|
33
35
|
|
@@ -47,6 +49,7 @@ module WorkOS
|
|
47
49
|
domain: hash[:domain],
|
48
50
|
type: hash[:type],
|
49
51
|
state: hash[:state],
|
52
|
+
organization_id: hash[:organization_id],
|
50
53
|
)
|
51
54
|
end
|
52
55
|
end
|
@@ -9,8 +9,9 @@ module WorkOS
|
|
9
9
|
extend T::Sig
|
10
10
|
|
11
11
|
attr_accessor :id, :idp_id, :emails, :first_name, :last_name, :username, :state,
|
12
|
-
:raw_attributes
|
12
|
+
:groups, :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)
|
@@ -22,8 +23,10 @@ module WorkOS
|
|
22
23
|
@last_name = raw.last_name
|
23
24
|
@username = raw.username
|
24
25
|
@state = raw.state
|
26
|
+
@groups = T.let(raw.groups, Array)
|
25
27
|
@raw_attributes = raw.raw_attributes
|
26
28
|
end
|
29
|
+
# rubocop:enable Metrics/AbcSize
|
27
30
|
|
28
31
|
def to_json(*)
|
29
32
|
{
|
@@ -34,6 +37,7 @@ module WorkOS
|
|
34
37
|
last_name: last_name,
|
35
38
|
username: username,
|
36
39
|
state: state,
|
40
|
+
groups: groups,
|
37
41
|
raw_attributes: raw_attributes,
|
38
42
|
}
|
39
43
|
end
|
@@ -56,6 +60,7 @@ module WorkOS
|
|
56
60
|
last_name: hash[:last_name],
|
57
61
|
username: hash[:username],
|
58
62
|
state: hash[:state],
|
63
|
+
groups: hash[:groups],
|
59
64
|
raw_attributes: hash[:raw_attributes],
|
60
65
|
)
|
61
66
|
end
|
data/lib/workos/errors.rb
CHANGED
@@ -13,12 +13,16 @@ module WorkOS
|
|
13
13
|
sig do
|
14
14
|
params(
|
15
15
|
message: T.nilable(String),
|
16
|
+
error: T.nilable(String),
|
17
|
+
error_description: T.nilable(String),
|
16
18
|
http_status: T.nilable(Integer),
|
17
19
|
request_id: T.nilable(String),
|
18
20
|
).void
|
19
21
|
end
|
20
|
-
def initialize(message: nil, http_status: nil, request_id: nil)
|
22
|
+
def initialize(message: nil, error: nil, error_description: nil, http_status: nil, request_id: nil)
|
21
23
|
@message = message
|
24
|
+
@error = error
|
25
|
+
@error_description = error_description
|
22
26
|
@http_status = http_status
|
23
27
|
@request_id = request_id
|
24
28
|
end
|
@@ -27,7 +31,14 @@ module WorkOS
|
|
27
31
|
def to_s
|
28
32
|
status_string = @http_status.nil? ? '' : "Status #{@http_status}, "
|
29
33
|
id_string = @request_id.nil? ? '' : " - request ID: #{@request_id}"
|
30
|
-
|
34
|
+
if @error && @error_description
|
35
|
+
error_string = "error: #{@error}, error_description: #{@error_description}"
|
36
|
+
"#{status_string}#{error_string}#{id_string}"
|
37
|
+
elsif @error
|
38
|
+
"#{status_string}#{@error}#{id_string}"
|
39
|
+
else
|
40
|
+
"#{status_string}#{@message}#{id_string}"
|
41
|
+
end
|
31
42
|
end
|
32
43
|
end
|
33
44
|
|
data/lib/workos/sso.rb
CHANGED
@@ -248,12 +248,15 @@ module WorkOS
|
|
248
248
|
end
|
249
249
|
|
250
250
|
sig { params(response: Net::HTTPResponse).void }
|
251
|
+
# rubocop:disable Metrics/MethodLength
|
251
252
|
def check_and_raise_profile_and_token_error(response:)
|
252
253
|
begin
|
253
254
|
body = JSON.parse(response.body)
|
254
255
|
return if body['access_token'] && body['profile']
|
255
256
|
|
256
257
|
message = body['message']
|
258
|
+
error = body['error']
|
259
|
+
error_description = body['error_description']
|
257
260
|
request_id = response['x-request-id']
|
258
261
|
rescue StandardError
|
259
262
|
message = 'Something went wrong'
|
@@ -261,10 +264,13 @@ module WorkOS
|
|
261
264
|
|
262
265
|
raise APIError.new(
|
263
266
|
message: message,
|
267
|
+
error: error,
|
268
|
+
error_description: error_description,
|
264
269
|
http_status: nil,
|
265
270
|
request_id: request_id,
|
266
271
|
)
|
267
272
|
end
|
273
|
+
# rubocop:enable Metrics/MethodLength
|
268
274
|
end
|
269
275
|
end
|
270
276
|
end
|
data/lib/workos/version.rb
CHANGED
data/spec/lib/workos/sso_spec.rb
CHANGED
@@ -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
|
@@ -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"},{"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"},{"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"}]}'
|
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"},{"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"},{"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"}]}'
|
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"}]}'
|
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"},{"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"}]}'
|
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
|
data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_no_options.yml
CHANGED
@@ -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:
|
@@ -30,8 +30,14 @@ http_interactions:
|
|
30
30
|
- Origin, Accept-Encoding
|
31
31
|
Access-Control-Allow-Credentials:
|
32
32
|
- 'true'
|
33
|
+
Content-Security-Policy:
|
34
|
+
- 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
|
35
|
+
https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
|
36
|
+
''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
|
33
37
|
X-Dns-Prefetch-Control:
|
34
38
|
- 'off'
|
39
|
+
Expect-Ct:
|
40
|
+
- max-age=0
|
35
41
|
X-Frame-Options:
|
36
42
|
- SAMEORIGIN
|
37
43
|
Strict-Transport-Security:
|
@@ -40,23 +46,30 @@ http_interactions:
|
|
40
46
|
- noopen
|
41
47
|
X-Content-Type-Options:
|
42
48
|
- nosniff
|
49
|
+
X-Permitted-Cross-Domain-Policies:
|
50
|
+
- none
|
51
|
+
Referrer-Policy:
|
52
|
+
- no-referrer
|
43
53
|
X-Xss-Protection:
|
44
|
-
-
|
54
|
+
- '0'
|
45
55
|
X-Request-Id:
|
46
|
-
-
|
56
|
+
- 0f6aa030-02d6-456e-960b-60682ab134d0
|
47
57
|
Content-Type:
|
48
58
|
- application/json; charset=utf-8
|
59
|
+
Content-Length:
|
60
|
+
- '784'
|
49
61
|
Etag:
|
50
|
-
- W/"
|
62
|
+
- W/"310-fBrsCTIA95j4JLo4UR8X2zBThYQ"
|
51
63
|
Date:
|
52
|
-
-
|
53
|
-
Transfer-Encoding:
|
54
|
-
- chunked
|
64
|
+
- Mon, 07 Jun 2021 17:55:29 GMT
|
55
65
|
Via:
|
56
66
|
- 1.1 vegur
|
57
67
|
body:
|
58
|
-
encoding:
|
59
|
-
string: '{"object":"list","listMetadata":{"before":"before-id","after":null},"data":[{"object":"directory","id":"
|
68
|
+
encoding: UTF-8
|
69
|
+
string: '{"object":"list","listMetadata":{"before":"before-id","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"},{"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"},{"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"}]}'
|
60
73
|
http_version:
|
61
|
-
recorded_at:
|
74
|
+
recorded_at: Mon, 07 Jun 2021 17:55:29 GMT
|
62
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
|
+
- 5e0ab2f6-9af6-467d-a5a0-352425d8be64
|
57
57
|
Content-Type:
|
58
58
|
- application/json; charset=utf-8
|
59
59
|
Content-Length:
|
60
|
-
- '
|
60
|
+
- '305'
|
61
61
|
Etag:
|
62
|
-
- W/"
|
62
|
+
- W/"131-TOcWi8K5/vWBSqHH1IZu5atd73o"
|
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":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"}]}'
|
71
71
|
http_version:
|
72
|
-
recorded_at:
|
72
|
+
recorded_at: Mon, 07 Jun 2021 17:55:30 GMT
|
73
73
|
recorded_with: VCR 5.0.0
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: workos
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- WorkOS
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-06-
|
11
|
+
date: 2021-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sorbet-runtime
|