workos 4.0.0 → 4.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +37 -0
- data/.github/workflows/release.yml +43 -0
- data/.rubocop.yml +8 -1
- data/Gemfile.lock +22 -69
- data/lib/workos/audit_log_export.rb +8 -31
- data/lib/workos/audit_logs.rb +0 -26
- data/lib/workos/authentication_factor_and_challenge.rb +0 -3
- data/lib/workos/authentication_response.rb +12 -5
- data/lib/workos/challenge.rb +9 -28
- data/lib/workos/client.rb +0 -41
- data/lib/workos/configuration.rb +0 -1
- data/lib/workos/connection.rb +11 -35
- data/lib/workos/directory.rb +10 -37
- data/lib/workos/directory_group.rb +9 -36
- data/lib/workos/directory_sync.rb +0 -21
- data/lib/workos/directory_user.rb +17 -51
- data/lib/workos/errors.rb +0 -16
- data/lib/workos/event.rb +5 -26
- data/lib/workos/events.rb +0 -7
- data/lib/workos/factor.rb +9 -28
- data/lib/workos/hash_provider.rb +0 -1
- data/lib/workos/impersonator.rb +23 -0
- data/lib/workos/invitation.rb +12 -37
- data/lib/workos/mfa.rb +0 -42
- data/lib/workos/organization.rb +8 -31
- data/lib/workos/organization_membership.rb +8 -27
- data/lib/workos/organizations.rb +0 -26
- data/lib/workos/passwordless.rb +0 -14
- data/lib/workos/portal.rb +1 -13
- data/lib/workos/profile.rb +12 -39
- data/lib/workos/profile_and_token.rb +1 -4
- data/lib/workos/refresh_authentication_response.rb +24 -0
- data/lib/workos/sso.rb +1 -43
- data/lib/workos/types/intent.rb +16 -0
- data/lib/workos/types/list_struct.rb +8 -5
- data/lib/workos/types/passwordless_session_struct.rb +10 -9
- data/lib/workos/types/provider.rb +15 -0
- data/lib/workos/types.rb +5 -23
- data/lib/workos/user.rb +10 -31
- data/lib/workos/user_and_token.rb +1 -4
- data/lib/workos/user_management.rb +108 -219
- data/lib/workos/user_response.rb +0 -3
- data/lib/workos/verify_challenge.rb +4 -18
- data/lib/workos/version.rb +1 -2
- data/lib/workos/webhook.rb +5 -26
- data/lib/workos/webhooks.rb +1 -38
- data/lib/workos.rb +2 -2
- data/spec/lib/workos/audit_logs_spec.rb +2 -3
- data/spec/lib/workos/configuration_spec.rb +0 -1
- data/spec/lib/workos/directory_sync_spec.rb +0 -1
- data/spec/lib/workos/directory_user_spec.rb +0 -1
- data/spec/lib/workos/event_spec.rb +0 -1
- data/spec/lib/workos/mfa_spec.rb +0 -1
- data/spec/lib/workos/organizations_spec.rb +0 -1
- data/spec/lib/workos/passwordless_spec.rb +0 -1
- data/spec/lib/workos/portal_spec.rb +0 -1
- data/spec/lib/workos/sso_spec.rb +0 -1
- data/spec/lib/workos/user_management_spec.rb +59 -10
- data/spec/lib/workos/webhooks_spec.rb +0 -1
- data/spec/spec_helper.rb +6 -9
- data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_code/valid.yml +1 -1
- data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_code/valid_with_impersonator.yml +80 -0
- data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_email_verification/valid.yml +1 -1
- data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_magic_auth/valid.yml +1 -1
- data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_organization_selection/valid.yml +1 -1
- data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_password/valid.yml +1 -1
- data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_refresh_code/invalid.yml +81 -0
- data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_refresh_token/valid.yml +81 -0
- data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_totp/valid.yml +1 -1
- data/spec/support/shared_examples/client_spec.rb +0 -1
- data/workos.gemspec +1 -6
- metadata +19 -129
- data/.semaphore/rubygems.yml +0 -24
- data/.semaphore/semaphore.yml +0 -51
- data/bin/tapioca +0 -29
- data/codecov.yml +0 -12
- data/devbox.json +0 -18
- data/devbox.lock +0 -11
- data/lib/workos/types/audit_log_export_struct.rb +0 -17
- data/lib/workos/types/challenge_struct.rb +0 -18
- data/lib/workos/types/connection_struct.rb +0 -20
- data/lib/workos/types/directory_group_struct.rb +0 -19
- data/lib/workos/types/directory_struct.rb +0 -19
- data/lib/workos/types/directory_user_struct.rb +0 -26
- data/lib/workos/types/event_struct.rb +0 -15
- data/lib/workos/types/factor_struct.rb +0 -18
- data/lib/workos/types/intent_enum.rb +0 -17
- data/lib/workos/types/invitation_struct.rb +0 -20
- data/lib/workos/types/magic_auth_challenge_struct.rb +0 -12
- data/lib/workos/types/organization_membership_struct.rb +0 -16
- data/lib/workos/types/organization_struct.rb +0 -17
- data/lib/workos/types/profile_struct.rb +0 -21
- data/lib/workos/types/provider_enum.rb +0 -16
- data/lib/workos/types/user_struct.rb +0 -18
- data/lib/workos/types/verify_challenge_struct.rb +0 -13
- data/lib/workos/types/webhook_struct.rb +0 -15
- data/sorbet/config +0 -2
- data/sorbet/rbi/gems/addressable@2.8.0.rbi +0 -290
- data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -54
- data/sorbet/rbi/gems/codecov@0.2.12.rbi +0 -55
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -8
- data/sorbet/rbi/gems/crack@0.4.5.rbi +0 -57
- data/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +0 -185
- data/sorbet/rbi/gems/docile@1.3.5.rbi +0 -54
- data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +0 -82
- data/sorbet/rbi/gems/json@2.5.1.rbi +0 -109
- data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -8
- data/sorbet/rbi/gems/parallel@1.20.1.rbi +0 -113
- data/sorbet/rbi/gems/parser@3.0.1.0.rbi +0 -1187
- data/sorbet/rbi/gems/pry@0.14.2.rbi +0 -8
- data/sorbet/rbi/gems/public_suffix@4.0.6.rbi +0 -146
- data/sorbet/rbi/gems/rainbow@3.0.0.rbi +0 -153
- data/sorbet/rbi/gems/rake@13.0.3.rbi +0 -807
- data/sorbet/rbi/gems/rbi@0.0.16.rbi +0 -2118
- data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +0 -1117
- data/sorbet/rbi/gems/rexml@3.2.5.rbi +0 -709
- data/sorbet/rbi/gems/rspec-core@3.9.3.rbi +0 -2467
- data/sorbet/rbi/gems/rspec-expectations@3.9.4.rbi +0 -1569
- data/sorbet/rbi/gems/rspec-mocks@3.9.1.rbi +0 -1493
- data/sorbet/rbi/gems/rspec-support@3.9.4.rbi +0 -511
- data/sorbet/rbi/gems/rspec@3.9.0.rbi +0 -38
- data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +0 -1881
- data/sorbet/rbi/gems/rubocop@0.93.1.rbi +0 -11497
- data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +0 -405
- data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -89
- data/sorbet/rbi/gems/simplecov@0.21.2.rbi +0 -577
- data/sorbet/rbi/gems/simplecov_json_formatter@0.1.2.rbi +0 -8
- data/sorbet/rbi/gems/spoom@1.1.15.rbi +0 -1549
- data/sorbet/rbi/gems/tapioca@0.7.3.rbi +0 -1718
- data/sorbet/rbi/gems/thor@1.2.1.rbi +0 -844
- data/sorbet/rbi/gems/unicode-display_width@1.7.0.rbi +0 -22
- data/sorbet/rbi/gems/unparser@0.6.2.rbi +0 -8
- data/sorbet/rbi/gems/vcr@5.0.0.rbi +0 -699
- data/sorbet/rbi/gems/webmock@3.12.2.rbi +0 -662
- data/sorbet/rbi/gems/yard-sorbet@0.8.0.rbi +0 -268
- data/sorbet/rbi/gems/yard@0.9.26.rbi +0 -4048
- data/sorbet/tapioca/config.yml +0 -13
- data/sorbet/tapioca/require.rb +0 -4
data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_refresh_code/invalid.yml
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://api.workos.com/user_management/authenticate
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"refresh_token":"invalid","client_id":"client_123","client_secret":"<API_KEY>","ip_address":"200.240.210.16","user_agent":"Mozilla/5.0
|
9
|
+
(Macintosh; Intel Mac OS X 10_15_7) Chrome/108.0.0.0 Safari/537.36","grant_type":"refresh_token"}'
|
10
|
+
headers:
|
11
|
+
Content-Type:
|
12
|
+
- application/json
|
13
|
+
Accept-Encoding:
|
14
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
15
|
+
Accept:
|
16
|
+
- "*/*"
|
17
|
+
User-Agent:
|
18
|
+
- WorkOS; ruby/3.2.2; arm64-darwin22; v4.0.0
|
19
|
+
response:
|
20
|
+
status:
|
21
|
+
code: 400
|
22
|
+
message: Bad Request
|
23
|
+
headers:
|
24
|
+
Date:
|
25
|
+
- Tue, 19 Mar 2024 16:06:37 GMT
|
26
|
+
Content-Type:
|
27
|
+
- application/json; charset=utf-8
|
28
|
+
Content-Length:
|
29
|
+
- '70'
|
30
|
+
Connection:
|
31
|
+
- keep-alive
|
32
|
+
Cf-Ray:
|
33
|
+
- 866eb5f11e5f5304-SLC
|
34
|
+
Cf-Cache-Status:
|
35
|
+
- DYNAMIC
|
36
|
+
Etag:
|
37
|
+
- W/"46-6ugkBnqF9SxNnhijAAHjGcT083A"
|
38
|
+
Strict-Transport-Security:
|
39
|
+
- max-age=15552000; includeSubDomains
|
40
|
+
Vary:
|
41
|
+
- Origin, Accept-Encoding
|
42
|
+
Via:
|
43
|
+
- 1.1 spaces-router (devel)
|
44
|
+
Access-Control-Allow-Credentials:
|
45
|
+
- 'true'
|
46
|
+
Content-Security-Policy:
|
47
|
+
- 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
|
48
|
+
https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
|
49
|
+
''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
|
50
|
+
Expect-Ct:
|
51
|
+
- max-age=0
|
52
|
+
Referrer-Policy:
|
53
|
+
- no-referrer
|
54
|
+
X-Content-Type-Options:
|
55
|
+
- nosniff
|
56
|
+
X-Dns-Prefetch-Control:
|
57
|
+
- 'off'
|
58
|
+
X-Download-Options:
|
59
|
+
- noopen
|
60
|
+
X-Frame-Options:
|
61
|
+
- SAMEORIGIN
|
62
|
+
X-Permitted-Cross-Domain-Policies:
|
63
|
+
- none
|
64
|
+
X-Request-Id:
|
65
|
+
- 32619697-61a5-4ad1-80ab-9d26a6a74d12
|
66
|
+
X-Xss-Protection:
|
67
|
+
- '0'
|
68
|
+
Set-Cookie:
|
69
|
+
- __cf_bm=QdnPZspsJTPGj.ljZ.hfxMSzw0C1in.rjVkGjY75Ht8-1710864397-1.0.1.1-dA2qdL_CwORHen0HwGvbeJXGixoc_htTepIFYUnChePSsMpTdvHI7pWe0ddNWtrRbDD6GEK7TkgM7qPdAXVsaw;
|
70
|
+
path=/; expires=Tue, 19-Mar-24 16:36:37 GMT; domain=.workos.com; HttpOnly;
|
71
|
+
Secure; SameSite=None
|
72
|
+
- __cfruid=a7cc4637e2746cb557755f0665c5f2a6206b907a-1710864397; path=/; domain=.workos.com;
|
73
|
+
HttpOnly; Secure; SameSite=None
|
74
|
+
Server:
|
75
|
+
- cloudflare
|
76
|
+
body:
|
77
|
+
encoding: UTF-8
|
78
|
+
string: '{"error":"invalid_grant","error_description":"Invalid refresh token."}'
|
79
|
+
http_version:
|
80
|
+
recorded_at: Tue, 19 Mar 2024 16:06:37 GMT
|
81
|
+
recorded_with: VCR 5.0.0
|
data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_refresh_token/valid.yml
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://api.workos.com/user_management/authenticate
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"refresh_token":"some_refresh_token","client_id":"client_123","client_secret":"<API_KEY>","ip_address":"200.240.210.16","user_agent":"Mozilla/5.0
|
9
|
+
(Macintosh; Intel Mac OS X 10_15_7) Chrome/108.0.0.0 Safari/537.36","grant_type":"refresh_token"}'
|
10
|
+
headers:
|
11
|
+
Content-Type:
|
12
|
+
- application/json
|
13
|
+
Accept-Encoding:
|
14
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
15
|
+
Accept:
|
16
|
+
- "*/*"
|
17
|
+
User-Agent:
|
18
|
+
- WorkOS; ruby/3.2.2; arm64-darwin22; v4.0.0
|
19
|
+
response:
|
20
|
+
status:
|
21
|
+
code: 200
|
22
|
+
message: OK
|
23
|
+
headers:
|
24
|
+
Date:
|
25
|
+
- Mon, 18 Mar 2024 19:00:53 GMT
|
26
|
+
Content-Type:
|
27
|
+
- application/json; charset=utf-8
|
28
|
+
Transfer-Encoding:
|
29
|
+
- chunked
|
30
|
+
Connection:
|
31
|
+
- keep-alive
|
32
|
+
Cf-Ray:
|
33
|
+
- 866777d63b4627e8-SLC
|
34
|
+
Cf-Cache-Status:
|
35
|
+
- DYNAMIC
|
36
|
+
Etag:
|
37
|
+
- W/"335-M3MDQYhs5724SayBHHCwnBDn3qA"
|
38
|
+
Strict-Transport-Security:
|
39
|
+
- max-age=15552000; includeSubDomains
|
40
|
+
Vary:
|
41
|
+
- Origin, Accept-Encoding
|
42
|
+
Via:
|
43
|
+
- 1.1 spaces-router (devel)
|
44
|
+
Access-Control-Allow-Credentials:
|
45
|
+
- 'true'
|
46
|
+
Content-Security-Policy:
|
47
|
+
- 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
|
48
|
+
https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
|
49
|
+
''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
|
50
|
+
Expect-Ct:
|
51
|
+
- max-age=0
|
52
|
+
Referrer-Policy:
|
53
|
+
- no-referrer
|
54
|
+
X-Content-Type-Options:
|
55
|
+
- nosniff
|
56
|
+
X-Dns-Prefetch-Control:
|
57
|
+
- 'off'
|
58
|
+
X-Download-Options:
|
59
|
+
- noopen
|
60
|
+
X-Frame-Options:
|
61
|
+
- SAMEORIGIN
|
62
|
+
X-Permitted-Cross-Domain-Policies:
|
63
|
+
- none
|
64
|
+
X-Request-Id:
|
65
|
+
- 995ed1ed-e892-4049-86c9-0e07baa6cc4b
|
66
|
+
X-Xss-Protection:
|
67
|
+
- '0'
|
68
|
+
Set-Cookie:
|
69
|
+
- __cf_bm=2NHqv1cd1BisOc8KKcQ0oNzFxZZT4OHQd6c2QDuGnUU-1710788453-1.0.1.1-4BxBRzVrhL7rCH895PcfORXr_6Rnj3Oh5w1YG4xi7X1st62LMzb5dHZO7u7P.V1P8nBDAAt3Wbz7xsDTWrfWJg;
|
70
|
+
path=/; expires=Mon, 18-Mar-24 19:30:53 GMT; domain=.workos.com; HttpOnly;
|
71
|
+
Secure; SameSite=None
|
72
|
+
- __cfruid=06035c17e9b60a1d7a42a5b568146a0bb71a06dc-1710788453; path=/; domain=.workos.com;
|
73
|
+
HttpOnly; Secure; SameSite=None
|
74
|
+
Server:
|
75
|
+
- cloudflare
|
76
|
+
body:
|
77
|
+
encoding: UTF-8
|
78
|
+
string: '{"access_token":"<ACCESS_TOKEN>","refresh_token":"<REFRESH_TOKEN>"}'
|
79
|
+
http_version:
|
80
|
+
recorded_at: Mon, 18 Mar 2024 19:00:53 GMT
|
81
|
+
recorded_with: VCR 5.0.0
|
@@ -75,7 +75,7 @@ http_interactions:
|
|
75
75
|
- cloudflare
|
76
76
|
body:
|
77
77
|
encoding: ASCII-8BIT
|
78
|
-
string: '{"user":{"object":"user","id":"user_01H93ZY4F80YZRRS6N59Z2HFVS","email":"test@workos.app","email_verified":false,"first_name":"Lucille","last_name":"Bluth","created_at":"2023-08-30T19:50:13.214Z","updated_at":"2023-08-30T19:50:13.214Z","user_type":"managed","sso_profile_id":"prof_01H93ZTVWYPAT4RKDSPFPPXH0J"}}'
|
78
|
+
string: '{"user":{"object":"user","id":"user_01H93ZY4F80YZRRS6N59Z2HFVS","email":"test@workos.app","email_verified":false,"first_name":"Lucille","last_name":"Bluth","created_at":"2023-08-30T19:50:13.214Z","updated_at":"2023-08-30T19:50:13.214Z","user_type":"managed","sso_profile_id":"prof_01H93ZTVWYPAT4RKDSPFPPXH0J"},"access_token":"<ACCESS_TOKEN>","refresh_token":"<REFRESH_TOKEN>"}'
|
79
79
|
http_version:
|
80
80
|
recorded_at: Wed, 30 Aug 2023 19:51:51 GMT
|
81
81
|
recorded_with: VCR 5.0.0
|
data/workos.gemspec
CHANGED
@@ -21,16 +21,11 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
22
22
|
spec.require_paths = ['lib']
|
23
23
|
|
24
|
-
spec.add_dependency 'sorbet-runtime', '~> 0.5'
|
25
|
-
|
26
24
|
spec.add_development_dependency 'bundler', '>= 2.0.1'
|
27
|
-
spec.add_development_dependency 'codecov', '~> 0.2.8'
|
28
25
|
spec.add_development_dependency 'rspec', '~> 3.9.0'
|
29
26
|
spec.add_development_dependency 'rubocop', '~> 0.77'
|
30
|
-
spec.add_development_dependency 'sorbet', '~> 0.5'
|
31
|
-
spec.add_development_dependency 'tapioca'
|
32
27
|
spec.add_development_dependency 'vcr', '~> 5.0.0'
|
33
28
|
spec.add_development_dependency 'webmock'
|
34
29
|
|
35
|
-
spec.required_ruby_version = '>= 2.
|
30
|
+
spec.required_ruby_version = '>= 2.7'
|
36
31
|
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: workos
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- WorkOS
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: sorbet-runtime
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0.5'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0.5'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: bundler
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,20 +24,6 @@ dependencies:
|
|
38
24
|
- - ">="
|
39
25
|
- !ruby/object:Gem::Version
|
40
26
|
version: 2.0.1
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: codecov
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 0.2.8
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 0.2.8
|
55
27
|
- !ruby/object:Gem::Dependency
|
56
28
|
name: rspec
|
57
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,34 +52,6 @@ dependencies:
|
|
80
52
|
- - "~>"
|
81
53
|
- !ruby/object:Gem::Version
|
82
54
|
version: '0.77'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: sorbet
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0.5'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0.5'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: tapioca
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
55
|
- !ruby/object:Gem::Dependency
|
112
56
|
name: vcr
|
113
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -146,12 +90,12 @@ files:
|
|
146
90
|
- ".github/CODEOWNERS"
|
147
91
|
- ".github/pull_request_template.md"
|
148
92
|
- ".github/renovate.json"
|
93
|
+
- ".github/workflows/ci.yml"
|
94
|
+
- ".github/workflows/release.yml"
|
149
95
|
- ".gitignore"
|
150
96
|
- ".rspec"
|
151
97
|
- ".rubocop.yml"
|
152
98
|
- ".ruby-version"
|
153
|
-
- ".semaphore/rubygems.yml"
|
154
|
-
- ".semaphore/semaphore.yml"
|
155
99
|
- Gemfile
|
156
100
|
- Gemfile.lock
|
157
101
|
- LICENSE
|
@@ -159,10 +103,6 @@ files:
|
|
159
103
|
- bin/build
|
160
104
|
- bin/console
|
161
105
|
- bin/publish
|
162
|
-
- bin/tapioca
|
163
|
-
- codecov.yml
|
164
|
-
- devbox.json
|
165
|
-
- devbox.lock
|
166
106
|
- lib/workos.rb
|
167
107
|
- lib/workos/audit_log_export.rb
|
168
108
|
- lib/workos/audit_logs.rb
|
@@ -182,6 +122,7 @@ files:
|
|
182
122
|
- lib/workos/events.rb
|
183
123
|
- lib/workos/factor.rb
|
184
124
|
- lib/workos/hash_provider.rb
|
125
|
+
- lib/workos/impersonator.rb
|
185
126
|
- lib/workos/invitation.rb
|
186
127
|
- lib/workos/mfa.rb
|
187
128
|
- lib/workos/organization.rb
|
@@ -191,28 +132,13 @@ files:
|
|
191
132
|
- lib/workos/portal.rb
|
192
133
|
- lib/workos/profile.rb
|
193
134
|
- lib/workos/profile_and_token.rb
|
135
|
+
- lib/workos/refresh_authentication_response.rb
|
194
136
|
- lib/workos/sso.rb
|
195
137
|
- lib/workos/types.rb
|
196
|
-
- lib/workos/types/
|
197
|
-
- lib/workos/types/challenge_struct.rb
|
198
|
-
- lib/workos/types/connection_struct.rb
|
199
|
-
- lib/workos/types/directory_group_struct.rb
|
200
|
-
- lib/workos/types/directory_struct.rb
|
201
|
-
- lib/workos/types/directory_user_struct.rb
|
202
|
-
- lib/workos/types/event_struct.rb
|
203
|
-
- lib/workos/types/factor_struct.rb
|
204
|
-
- lib/workos/types/intent_enum.rb
|
205
|
-
- lib/workos/types/invitation_struct.rb
|
138
|
+
- lib/workos/types/intent.rb
|
206
139
|
- lib/workos/types/list_struct.rb
|
207
|
-
- lib/workos/types/magic_auth_challenge_struct.rb
|
208
|
-
- lib/workos/types/organization_membership_struct.rb
|
209
|
-
- lib/workos/types/organization_struct.rb
|
210
140
|
- lib/workos/types/passwordless_session_struct.rb
|
211
|
-
- lib/workos/types/
|
212
|
-
- lib/workos/types/provider_enum.rb
|
213
|
-
- lib/workos/types/user_struct.rb
|
214
|
-
- lib/workos/types/verify_challenge_struct.rb
|
215
|
-
- lib/workos/types/webhook_struct.rb
|
141
|
+
- lib/workos/types/provider.rb
|
216
142
|
- lib/workos/user.rb
|
217
143
|
- lib/workos/user_and_token.rb
|
218
144
|
- lib/workos/user_management.rb
|
@@ -221,48 +147,6 @@ files:
|
|
221
147
|
- lib/workos/version.rb
|
222
148
|
- lib/workos/webhook.rb
|
223
149
|
- lib/workos/webhooks.rb
|
224
|
-
- sorbet/config
|
225
|
-
- sorbet/rbi/gems/addressable@2.8.0.rbi
|
226
|
-
- sorbet/rbi/gems/ast@2.4.2.rbi
|
227
|
-
- sorbet/rbi/gems/codecov@0.2.12.rbi
|
228
|
-
- sorbet/rbi/gems/coderay@1.1.3.rbi
|
229
|
-
- sorbet/rbi/gems/crack@0.4.5.rbi
|
230
|
-
- sorbet/rbi/gems/diff-lcs@1.4.4.rbi
|
231
|
-
- sorbet/rbi/gems/docile@1.3.5.rbi
|
232
|
-
- sorbet/rbi/gems/hashdiff@1.0.1.rbi
|
233
|
-
- sorbet/rbi/gems/json@2.5.1.rbi
|
234
|
-
- sorbet/rbi/gems/method_source@1.0.0.rbi
|
235
|
-
- sorbet/rbi/gems/parallel@1.20.1.rbi
|
236
|
-
- sorbet/rbi/gems/parser@3.0.1.0.rbi
|
237
|
-
- sorbet/rbi/gems/pry@0.14.2.rbi
|
238
|
-
- sorbet/rbi/gems/public_suffix@4.0.6.rbi
|
239
|
-
- sorbet/rbi/gems/rainbow@3.0.0.rbi
|
240
|
-
- sorbet/rbi/gems/rake@13.0.3.rbi
|
241
|
-
- sorbet/rbi/gems/rbi@0.0.16.rbi
|
242
|
-
- sorbet/rbi/gems/regexp_parser@2.1.1.rbi
|
243
|
-
- sorbet/rbi/gems/rexml@3.2.5.rbi
|
244
|
-
- sorbet/rbi/gems/rspec-core@3.9.3.rbi
|
245
|
-
- sorbet/rbi/gems/rspec-expectations@3.9.4.rbi
|
246
|
-
- sorbet/rbi/gems/rspec-mocks@3.9.1.rbi
|
247
|
-
- sorbet/rbi/gems/rspec-support@3.9.4.rbi
|
248
|
-
- sorbet/rbi/gems/rspec@3.9.0.rbi
|
249
|
-
- sorbet/rbi/gems/rubocop-ast@1.4.1.rbi
|
250
|
-
- sorbet/rbi/gems/rubocop@0.93.1.rbi
|
251
|
-
- sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi
|
252
|
-
- sorbet/rbi/gems/simplecov-html@0.12.3.rbi
|
253
|
-
- sorbet/rbi/gems/simplecov@0.21.2.rbi
|
254
|
-
- sorbet/rbi/gems/simplecov_json_formatter@0.1.2.rbi
|
255
|
-
- sorbet/rbi/gems/spoom@1.1.15.rbi
|
256
|
-
- sorbet/rbi/gems/tapioca@0.7.3.rbi
|
257
|
-
- sorbet/rbi/gems/thor@1.2.1.rbi
|
258
|
-
- sorbet/rbi/gems/unicode-display_width@1.7.0.rbi
|
259
|
-
- sorbet/rbi/gems/unparser@0.6.2.rbi
|
260
|
-
- sorbet/rbi/gems/vcr@5.0.0.rbi
|
261
|
-
- sorbet/rbi/gems/webmock@3.12.2.rbi
|
262
|
-
- sorbet/rbi/gems/yard-sorbet@0.8.0.rbi
|
263
|
-
- sorbet/rbi/gems/yard@0.9.26.rbi
|
264
|
-
- sorbet/tapioca/config.yml
|
265
|
-
- sorbet/tapioca/require.rb
|
266
150
|
- spec/lib/workos/audit_logs_spec.rb
|
267
151
|
- spec/lib/workos/configuration_spec.rb
|
268
152
|
- spec/lib/workos/directory_sync_spec.rb
|
@@ -364,6 +248,7 @@ files:
|
|
364
248
|
- spec/support/fixtures/vcr_cassettes/sso/profile.yml
|
365
249
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_code/invalid.yml
|
366
250
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_code/valid.yml
|
251
|
+
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_code/valid_with_impersonator.yml
|
367
252
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_email_verification/invalid.yml
|
368
253
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_email_verification/valid.yml
|
369
254
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_magic_auth/invalid.yml
|
@@ -372,6 +257,8 @@ files:
|
|
372
257
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_organization_selection/valid.yml
|
373
258
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_password/invalid.yml
|
374
259
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_password/valid.yml
|
260
|
+
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_refresh_code/invalid.yml
|
261
|
+
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_refresh_token/valid.yml
|
375
262
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_totp/invalid.yml
|
376
263
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_totp/valid.yml
|
377
264
|
- spec/support/fixtures/vcr_cassettes/user_management/confirm_password_reset/invalid.yml
|
@@ -428,7 +315,7 @@ licenses:
|
|
428
315
|
- MIT
|
429
316
|
metadata:
|
430
317
|
documentation_uri: https://docs.workos.com/sdk/ruby
|
431
|
-
post_install_message:
|
318
|
+
post_install_message:
|
432
319
|
rdoc_options: []
|
433
320
|
require_paths:
|
434
321
|
- lib
|
@@ -436,15 +323,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
436
323
|
requirements:
|
437
324
|
- - ">="
|
438
325
|
- !ruby/object:Gem::Version
|
439
|
-
version: '2.
|
326
|
+
version: '2.7'
|
440
327
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
441
328
|
requirements:
|
442
329
|
- - ">="
|
443
330
|
- !ruby/object:Gem::Version
|
444
331
|
version: '0'
|
445
332
|
requirements: []
|
446
|
-
rubygems_version: 3.
|
447
|
-
signing_key:
|
333
|
+
rubygems_version: 3.4.19
|
334
|
+
signing_key:
|
448
335
|
specification_version: 4
|
449
336
|
summary: API client for WorkOS
|
450
337
|
test_files:
|
@@ -549,6 +436,7 @@ test_files:
|
|
549
436
|
- spec/support/fixtures/vcr_cassettes/sso/profile.yml
|
550
437
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_code/invalid.yml
|
551
438
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_code/valid.yml
|
439
|
+
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_code/valid_with_impersonator.yml
|
552
440
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_email_verification/invalid.yml
|
553
441
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_email_verification/valid.yml
|
554
442
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_magic_auth/invalid.yml
|
@@ -557,6 +445,8 @@ test_files:
|
|
557
445
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_organization_selection/valid.yml
|
558
446
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_password/invalid.yml
|
559
447
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_password/valid.yml
|
448
|
+
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_refresh_code/invalid.yml
|
449
|
+
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_refresh_token/valid.yml
|
560
450
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_totp/invalid.yml
|
561
451
|
- spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_totp/valid.yml
|
562
452
|
- spec/support/fixtures/vcr_cassettes/user_management/confirm_password_reset/invalid.yml
|
data/.semaphore/rubygems.yml
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
version: v1.0
|
2
|
-
|
3
|
-
name: Rubygems deployment
|
4
|
-
agent:
|
5
|
-
machine:
|
6
|
-
type: e1-standard-2
|
7
|
-
os_image: ubuntu1804
|
8
|
-
|
9
|
-
blocks:
|
10
|
-
- name: Build & Publish 🛠 💎
|
11
|
-
task:
|
12
|
-
secrets:
|
13
|
-
- name: workos-rubygems
|
14
|
-
jobs:
|
15
|
-
- name: Publish to Rubygems
|
16
|
-
commands:
|
17
|
-
- checkout
|
18
|
-
- sem-version ruby 2.6.5
|
19
|
-
- gem update --system
|
20
|
-
- gem install bundler
|
21
|
-
- bundle install
|
22
|
-
- chmod 0600 /home/semaphore/.gem/credentials
|
23
|
-
- bundle exec gem build workos --output=release.gem
|
24
|
-
- bundle exec gem push release.gem
|
data/.semaphore/semaphore.yml
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
version: v1.0
|
2
|
-
name: Ruby
|
3
|
-
|
4
|
-
agent:
|
5
|
-
machine:
|
6
|
-
type: e1-standard-2
|
7
|
-
os_image: ubuntu2004
|
8
|
-
|
9
|
-
blocks:
|
10
|
-
- name: Run Sorbet 🍦
|
11
|
-
task:
|
12
|
-
jobs:
|
13
|
-
- name: srb tc
|
14
|
-
commands:
|
15
|
-
- checkout
|
16
|
-
- bundle install
|
17
|
-
- bundle exec srb tc
|
18
|
-
|
19
|
-
- name: Run Rubocop 🚔
|
20
|
-
task:
|
21
|
-
jobs:
|
22
|
-
- name: rubocop
|
23
|
-
commands:
|
24
|
-
- checkout
|
25
|
-
- bundle install
|
26
|
-
- bundle exec rubocop
|
27
|
-
|
28
|
-
- name: Run Tests 👩🏽🔬
|
29
|
-
task:
|
30
|
-
secrets:
|
31
|
-
- name: codecov-workos-ruby
|
32
|
-
jobs:
|
33
|
-
- name: Ruby 1.9.3
|
34
|
-
matrix:
|
35
|
-
- env_var: RUBY_VERSION
|
36
|
-
values:
|
37
|
-
- 1.9.3-p551
|
38
|
-
- 2.0.0-p648
|
39
|
-
- 2.3.4
|
40
|
-
- 2.5.7
|
41
|
-
- 2.6.5
|
42
|
-
- 2.7.3
|
43
|
-
- 3.0.2
|
44
|
-
commands:
|
45
|
-
- checkout
|
46
|
-
- sem-version ruby $RUBY_VERSION
|
47
|
-
- bundle install
|
48
|
-
- bundle exec rspec
|
49
|
-
promotions:
|
50
|
-
- name: Deploy workos-rb to rubygems
|
51
|
-
pipeline_file: rubygems.yml
|
data/bin/tapioca
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
#
|
5
|
-
# This file was generated by Bundler.
|
6
|
-
#
|
7
|
-
# The application 'tapioca' is installed as part of a gem, and
|
8
|
-
# this file is here to facilitate running it.
|
9
|
-
#
|
10
|
-
|
11
|
-
require 'pathname'
|
12
|
-
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
|
13
|
-
Pathname.new(__FILE__).realpath,)
|
14
|
-
|
15
|
-
bundle_binstub = File.expand_path('bundle', __dir__)
|
16
|
-
|
17
|
-
if File.file?(bundle_binstub)
|
18
|
-
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
19
|
-
load(bundle_binstub)
|
20
|
-
else
|
21
|
-
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
-
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
require 'rubygems'
|
27
|
-
require 'bundler/setup'
|
28
|
-
|
29
|
-
load Gem.bin_path('tapioca', 'tapioca')
|
data/codecov.yml
DELETED
data/devbox.json
DELETED
data/devbox.lock
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
# typed: strict
|
3
|
-
|
4
|
-
module WorkOS
|
5
|
-
module Types
|
6
|
-
# This AuditLogExportStruct acts as a typed interface
|
7
|
-
# for the AuditLogExport class
|
8
|
-
class AuditLogExportStruct < T::Struct
|
9
|
-
const :object, String
|
10
|
-
const :id, String
|
11
|
-
const :state, String
|
12
|
-
const :url, T.nilable(String)
|
13
|
-
const :created_at, String
|
14
|
-
const :updated_at, String
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
# typed: strict
|
3
|
-
|
4
|
-
module WorkOS
|
5
|
-
module Types
|
6
|
-
# This ChallgengeStruct acts as a typed interface
|
7
|
-
# for the Factor class
|
8
|
-
class ChallengeStruct < T::Struct
|
9
|
-
const :id, String
|
10
|
-
const :object, String
|
11
|
-
const :expires_at, String
|
12
|
-
const :code, T.nilable(String)
|
13
|
-
const :authentication_factor_id, String
|
14
|
-
const :created_at, String
|
15
|
-
const :updated_at, String
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
# typed: strict
|
3
|
-
|
4
|
-
module WorkOS
|
5
|
-
module Types
|
6
|
-
# This ConnectionStruct acts as a typed interface
|
7
|
-
# for the Connection class
|
8
|
-
class ConnectionStruct < T::Struct
|
9
|
-
const :id, String
|
10
|
-
const :name, String
|
11
|
-
const :connection_type, String
|
12
|
-
const :domains, T::Array[T.untyped]
|
13
|
-
const :organization_id, T.nilable(String)
|
14
|
-
const :state, String
|
15
|
-
const :status, String
|
16
|
-
const :created_at, String
|
17
|
-
const :updated_at, String
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|