workos 2.2.0 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/lib/workos/audit_trail.rb +1 -0
- data/lib/workos/challenge.rb +2 -1
- data/lib/workos/connection.rb +1 -0
- data/lib/workos/deprecated_hash_wrapper.rb +76 -0
- data/lib/workos/directory.rb +1 -0
- data/lib/workos/directory_group.rb +26 -2
- data/lib/workos/directory_sync.rb +11 -8
- data/lib/workos/directory_user.rb +16 -2
- data/lib/workos/factor.rb +2 -6
- data/lib/workos/hash_provider.rb +19 -0
- data/lib/workos/organization.rb +1 -0
- data/lib/workos/organizations.rb +1 -0
- data/lib/workos/profile.rb +1 -0
- data/lib/workos/profile_and_token.rb +1 -0
- data/lib/workos/sso.rb +1 -0
- data/lib/workos/types/challenge_struct.rb +1 -1
- data/lib/workos/types/directory_group_struct.rb +6 -0
- data/lib/workos/types/directory_user_struct.rb +2 -0
- data/lib/workos/types/factor_struct.rb +0 -1
- data/lib/workos/types/passwordless_session_struct.rb +2 -0
- data/lib/workos/types/verify_factor_struct.rb +1 -3
- data/lib/workos/verify_factor.rb +1 -0
- data/lib/workos/version.rb +1 -1
- data/lib/workos/webhook.rb +1 -0
- data/lib/workos.rb +2 -0
- data/spec/lib/workos/directory_sync_spec.rb +29 -18
- data/spec/lib/workos/directory_user_spec.rb +36 -0
- data/spec/lib/workos/mfa_spec.rb +31 -1
- data/spec/support/fixtures/vcr_cassettes/directory_sync/get_group.yml +47 -29
- data/spec/support/fixtures/vcr_cassettes/directory_sync/get_user.yml +28 -31
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_after.yml +46 -32
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_before.yml +47 -31
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_directory.yml +46 -34
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_limit.yml +41 -31
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_no_options.yml +36 -26
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_user.yml +38 -28
- data/spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_totp_valid.yml +1 -1
- data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_generic_valid.yml +1 -1
- data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_sms_valid.yml +1 -1
- data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_totp_valid.yml +1 -1
- data/spec/support/fixtures/vcr_cassettes/mfa/get_factor_valid.yml +1 -1
- data/spec/support/fixtures/vcr_cassettes/mfa/verify_factor_generic_valid_is_false.yml +82 -0
- metadata +9 -3
@@ -14,7 +14,7 @@ http_interactions:
|
|
14
14
|
Accept:
|
15
15
|
- "*/*"
|
16
16
|
User-Agent:
|
17
|
-
- WorkOS; ruby/
|
17
|
+
- WorkOS; ruby/3.0.2; x86_64-darwin19; v2.1.1
|
18
18
|
Authorization:
|
19
19
|
- Bearer <API_KEY>
|
20
20
|
response:
|
@@ -22,53 +22,63 @@ http_interactions:
|
|
22
22
|
code: 422
|
23
23
|
message: Unprocessable Entity
|
24
24
|
headers:
|
25
|
-
|
26
|
-
-
|
25
|
+
Date:
|
26
|
+
- Tue, 07 Jun 2022 22:28:35 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Content-Length:
|
30
|
+
- '219'
|
27
31
|
Connection:
|
28
32
|
- keep-alive
|
29
|
-
Vary:
|
30
|
-
- Origin, Accept-Encoding
|
31
33
|
Access-Control-Allow-Credentials:
|
32
34
|
- 'true'
|
33
35
|
Content-Security-Policy:
|
34
36
|
- 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
|
35
37
|
https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
|
36
38
|
''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
|
37
|
-
|
38
|
-
-
|
39
|
+
Etag:
|
40
|
+
- W/"db-gphk1TAe8P3eXtQnl1v8qxKQjZs"
|
39
41
|
Expect-Ct:
|
40
42
|
- max-age=0
|
41
|
-
|
42
|
-
-
|
43
|
+
Referrer-Policy:
|
44
|
+
- no-referrer
|
43
45
|
Strict-Transport-Security:
|
44
46
|
- max-age=15552000; includeSubDomains
|
45
|
-
|
46
|
-
-
|
47
|
+
Vary:
|
48
|
+
- Origin, Accept-Encoding
|
49
|
+
Via:
|
50
|
+
- 1.1 spaces-router (664a92218d61)
|
47
51
|
X-Content-Type-Options:
|
48
52
|
- nosniff
|
53
|
+
X-Dns-Prefetch-Control:
|
54
|
+
- 'off'
|
55
|
+
X-Download-Options:
|
56
|
+
- noopen
|
57
|
+
X-Frame-Options:
|
58
|
+
- SAMEORIGIN
|
49
59
|
X-Permitted-Cross-Domain-Policies:
|
50
60
|
- none
|
51
|
-
|
52
|
-
-
|
61
|
+
X-Request-Id:
|
62
|
+
- 0e9b2e8d-129e-8cd7-c4a3-078f18455441
|
53
63
|
X-Xss-Protection:
|
54
64
|
- '0'
|
55
|
-
|
56
|
-
-
|
57
|
-
|
58
|
-
-
|
59
|
-
|
60
|
-
- '
|
61
|
-
|
62
|
-
-
|
63
|
-
|
64
|
-
-
|
65
|
-
|
66
|
-
-
|
65
|
+
Cf-Cache-Status:
|
66
|
+
- DYNAMIC
|
67
|
+
Report-To:
|
68
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=rolm9dOV9PPapql1sEHtD4Pxu5K%2BTSSv9bNRONOED4qxiBE5Vc6TfLylhv1o%2F9bJz90IQmRlzm%2BtQRgd8gBOPag8j8rxue7PfVNAyiBLaY5nqLUUwtb64q9UTRBUGbncG7SUNxtqPSHjjRznrw%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
|
+
- 717cd25a3c3a9eca-DFW
|
75
|
+
Alt-Svc:
|
76
|
+
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
|
67
77
|
body:
|
68
78
|
encoding: UTF-8
|
69
79
|
string: '{"message":"Validation failed","errors":[{"field":"directory","code":"Please
|
70
80
|
provide either \"directory\" or \"user\" parameters."},{"field":"user","code":"Please
|
71
81
|
provide either \"directory\" or \"user\" parameters."}]}'
|
72
82
|
http_version:
|
73
|
-
recorded_at:
|
83
|
+
recorded_at: Tue, 07 Jun 2022 22:28:35 GMT
|
74
84
|
recorded_with: VCR 5.0.0
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://api.workos.com/directory_groups?user=
|
5
|
+
uri: https://api.workos.com/directory_groups?user=directory_user_01G2Z8D4FDB28ZNSRRBVCF2E0P
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -14,7 +14,7 @@ http_interactions:
|
|
14
14
|
Accept:
|
15
15
|
- "*/*"
|
16
16
|
User-Agent:
|
17
|
-
- WorkOS; ruby/
|
17
|
+
- WorkOS; ruby/3.0.2; x86_64-darwin19; v2.1.1
|
18
18
|
Authorization:
|
19
19
|
- Bearer <API_KEY>
|
20
20
|
response:
|
@@ -22,51 +22,61 @@ http_interactions:
|
|
22
22
|
code: 200
|
23
23
|
message: OK
|
24
24
|
headers:
|
25
|
-
|
26
|
-
-
|
25
|
+
Date:
|
26
|
+
- Tue, 07 Jun 2022 22:48:29 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Content-Length:
|
30
|
+
- '612'
|
27
31
|
Connection:
|
28
32
|
- keep-alive
|
29
|
-
Vary:
|
30
|
-
- Origin, Accept-Encoding
|
31
33
|
Access-Control-Allow-Credentials:
|
32
34
|
- 'true'
|
33
35
|
Content-Security-Policy:
|
34
36
|
- 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
|
35
37
|
https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
|
36
38
|
''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
|
37
|
-
|
38
|
-
-
|
39
|
+
Etag:
|
40
|
+
- W/"74a-JABiWu66XPEPqE+CDJ+LFYrX/Hk"
|
39
41
|
Expect-Ct:
|
40
42
|
- max-age=0
|
41
|
-
|
42
|
-
-
|
43
|
+
Referrer-Policy:
|
44
|
+
- no-referrer
|
43
45
|
Strict-Transport-Security:
|
44
46
|
- max-age=15552000; includeSubDomains
|
45
|
-
|
46
|
-
-
|
47
|
+
Vary:
|
48
|
+
- Origin, Accept-Encoding
|
49
|
+
Via:
|
50
|
+
- 1.1 spaces-router (664a92218d61)
|
47
51
|
X-Content-Type-Options:
|
48
52
|
- nosniff
|
53
|
+
X-Dns-Prefetch-Control:
|
54
|
+
- 'off'
|
55
|
+
X-Download-Options:
|
56
|
+
- noopen
|
57
|
+
X-Frame-Options:
|
58
|
+
- SAMEORIGIN
|
49
59
|
X-Permitted-Cross-Domain-Policies:
|
50
60
|
- none
|
51
|
-
|
52
|
-
-
|
61
|
+
X-Request-Id:
|
62
|
+
- 7d909909-c03b-ab72-02b3-ec7385d008de
|
53
63
|
X-Xss-Protection:
|
54
64
|
- '0'
|
55
|
-
|
56
|
-
-
|
57
|
-
|
58
|
-
-
|
59
|
-
|
60
|
-
-
|
61
|
-
|
62
|
-
-
|
63
|
-
|
64
|
-
-
|
65
|
-
|
66
|
-
-
|
65
|
+
Cf-Cache-Status:
|
66
|
+
- DYNAMIC
|
67
|
+
Report-To:
|
68
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=m9ozUh%2F7%2FiIWkqLPDWhF9aDd1CTE9Gv%2BMhuCdh%2Binj7dHVBAUTML3swCnyIXiCnOhTdSSx8IIrUM%2B5q2WRd3HFw%2FnZ7c7aKhd2lEqTh4NZohxhuKiLz9CIcnbcbUuo0HkOeRNenlqBdnxhRwWA%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
|
+
- 717cef8159a993e9-DFW
|
75
|
+
Alt-Svc:
|
76
|
+
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
|
67
77
|
body:
|
68
78
|
encoding: ASCII-8BIT
|
69
|
-
string: '{"object":"list","
|
79
|
+
string: '{"object":"list","data":[{"object":"directory_group","id":"directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG","idp_id":"01jlao4614two3d","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Sales","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"01jlao4614two3d","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/uLYJ0Hrx1gXXVg9z-zGLBZET2Wo\"","kind":"admin#directory#group","name":"Sales","email":"sales@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"1","nonEditableAliases":["sales@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D4TXW3JPSK425M710KRM","idp_id":"03dy6vkm1y2alqi","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Design","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"03dy6vkm1y2alqi","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/fFPsJbCjOImSDOp5Krvi2NKdjIY\"","kind":"admin#directory#group","name":"Design","email":"design@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"2","nonEditableAliases":["design@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D4PCZPAAB9CGS8EB34G5","idp_id":"00gjdgxs2s95kg4","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Admins","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"00gjdgxs2s95kg4","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/Un_xfweaPs74WQWtUQJesHlOKAk\"","kind":"admin#directory#group","name":"Admins","email":"admins@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"3","nonEditableAliases":["admins@foo-corp.com.test-google-a.com"]}}],"list_metadata":{"before":null,"after":null},"listMetadata":{"before":null,"after":null}}'
|
70
80
|
http_version:
|
71
|
-
recorded_at:
|
81
|
+
recorded_at: Tue, 07 Jun 2022 22:48:29 GMT
|
72
82
|
recorded_with: VCR 5.0.0
|
@@ -76,7 +76,7 @@ http_interactions:
|
|
76
76
|
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
|
77
77
|
body:
|
78
78
|
encoding: UTF-8
|
79
|
-
string: '{"object":"authentication_challenge","id":"auth_challenge_01FZ4W3X566NPKJRNB85KHF74F","created_at":"2022-03-27T05:03:25.859Z","updated_at":"2022-03-27T05:03:25.859Z","authentication_factor_id":"auth_factor_01FZ4TS0MWPZR7GATS7KCXANQZ"}'
|
79
|
+
string: '{"object":"authentication_challenge","id":"auth_challenge_01FZ4W3X566NPKJRNB85KHF74F","created_at":"2022-03-27T05:03:25.859Z","updated_at":"2022-03-27T05:03:25.859Z","expires_at":"2022-03-27T05:13:26.204Z","authentication_factor_id":"auth_factor_01FZ4TS0MWPZR7GATS7KCXANQZ"}'
|
80
80
|
http_version:
|
81
81
|
recorded_at: Sun, 27 Mar 2022 05:03:25 GMT
|
82
82
|
recorded_with: VCR 5.0.0
|
@@ -76,7 +76,7 @@ http_interactions:
|
|
76
76
|
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
|
77
77
|
body:
|
78
78
|
encoding: UTF-8
|
79
|
-
string: '{"object":"authentication_factor","id":"auth_factor_01FZ4WMXXA09XF6NK1XMKNWB3M","created_at":"2022-03-27T05:12:43.689Z","updated_at":"2022-03-27T05:12:43.689Z","type":"generic_otp"
|
79
|
+
string: '{"object":"authentication_factor","id":"auth_factor_01FZ4WMXXA09XF6NK1XMKNWB3M","created_at":"2022-03-27T05:12:43.689Z","updated_at":"2022-03-27T05:12:43.689Z","type":"generic_otp"}'
|
80
80
|
http_version:
|
81
81
|
recorded_at: Sun, 27 Mar 2022 05:12:43 GMT
|
82
82
|
recorded_with: VCR 5.0.0
|
@@ -76,7 +76,7 @@ http_interactions:
|
|
76
76
|
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
|
77
77
|
body:
|
78
78
|
encoding: UTF-8
|
79
|
-
string: '{"object":"authentication_factor","id":"auth_factor_01FZ8HVEV5XV0YQ0ENHWM14CCB","created_at":"2022-03-28T15:21:00.975Z","updated_at":"2022-03-28T15:21:00.975Z","type":"sms","
|
79
|
+
string: '{"object":"authentication_factor","id":"auth_factor_01FZ8HVEV5XV0YQ0ENHWM14CCB","created_at":"2022-03-28T15:21:00.975Z","updated_at":"2022-03-28T15:21:00.975Z","type":"sms","sms":{"phone_number":"+55555555555"}}'
|
80
80
|
http_version:
|
81
81
|
recorded_at: Mon, 28 Mar 2022 15:21:01 GMT
|
82
82
|
recorded_with: VCR 5.0.0
|
@@ -76,7 +76,7 @@ http_interactions:
|
|
76
76
|
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
|
77
77
|
body:
|
78
78
|
encoding: ASCII-8BIT
|
79
|
-
string: '{"object":"authentication_factor","id":"auth_factor_01FZ4TS0MWPZR7GATS7KCXANQZ","created_at":"2022-03-27T04:40:00.410Z","updated_at":"2022-03-27T04:40:00.410Z","type":"totp","
|
79
|
+
string: '{"object":"authentication_factor","id":"auth_factor_01FZ4TS0MWPZR7GATS7KCXANQZ","created_at":"2022-03-27T04:40:00.410Z","updated_at":"2022-03-27T04:40:00.410Z","type":"totp","totp":{"qr_code":"data:image/png;base64,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","secret":"LNASAT3PGQDTE5J4M4YDCTTOPZGBCAIW","uri":"otpauth://totp/WorkOS:some_user?secret=LNASAT3PGQDTE5J4M4YDCTTOPZGBCAIW&issuer=WorkOS"}}'
|
80
80
|
http_version:
|
81
81
|
recorded_at: Sun, 27 Mar 2022 04:40:00 GMT
|
82
82
|
recorded_with: VCR 5.0.0
|
@@ -76,7 +76,7 @@ http_interactions:
|
|
76
76
|
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
|
77
77
|
body:
|
78
78
|
encoding: ASCII-8BIT
|
79
|
-
string: '{"object":"authentication_factor","id":"auth_factor_01FZ4WMXXA09XF6NK1XMKNWB3M","created_at":"2022-03-27T05:12:43.689Z","updated_at":"2022-03-27T05:12:43.689Z","type":"generic_otp"
|
79
|
+
string: '{"object":"authentication_factor","id":"auth_factor_01FZ4WMXXA09XF6NK1XMKNWB3M","created_at":"2022-03-27T05:12:43.689Z","updated_at":"2022-03-27T05:12:43.689Z","type":"generic_otp"}'
|
80
80
|
http_version:
|
81
81
|
recorded_at: Sun, 27 Mar 2022 19:11:09 GMT
|
82
82
|
recorded_with: VCR 5.0.0
|
@@ -0,0 +1,82 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://api.workos.com/auth/factors/verify
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"authentication_challenge_id":"auth_challenge_01FZ4YVRBMXP5ZM0A7BP4AJ12J","code":"897792"}'
|
9
|
+
headers:
|
10
|
+
Content-Type:
|
11
|
+
- application/json
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
User-Agent:
|
17
|
+
- WorkOS; ruby/3.0.2; arm64-darwin21; v2.1.1
|
18
|
+
Authorization:
|
19
|
+
- Bearer <API_KEY>
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 201
|
23
|
+
message: Created
|
24
|
+
headers:
|
25
|
+
Date:
|
26
|
+
- Sun, 27 Mar 2022 05:53:03 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Content-Length:
|
30
|
+
- '317'
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
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'
|
37
|
+
X-Dns-Prefetch-Control:
|
38
|
+
- 'off'
|
39
|
+
Expect-Ct:
|
40
|
+
- max-age=0
|
41
|
+
X-Frame-Options:
|
42
|
+
- SAMEORIGIN
|
43
|
+
Strict-Transport-Security:
|
44
|
+
- max-age=15552000; includeSubDomains
|
45
|
+
X-Download-Options:
|
46
|
+
- noopen
|
47
|
+
X-Content-Type-Options:
|
48
|
+
- nosniff
|
49
|
+
X-Permitted-Cross-Domain-Policies:
|
50
|
+
- none
|
51
|
+
Referrer-Policy:
|
52
|
+
- no-referrer
|
53
|
+
X-Xss-Protection:
|
54
|
+
- '0'
|
55
|
+
Vary:
|
56
|
+
- Origin, Accept-Encoding
|
57
|
+
Access-Control-Allow-Credentials:
|
58
|
+
- 'true'
|
59
|
+
X-Request-Id:
|
60
|
+
- 78db6375-0b0a-4492-a913-5e0802a721b7
|
61
|
+
Etag:
|
62
|
+
- W/"13d-MlhrtKBkD4LjqRYZFv0nos58XA8"
|
63
|
+
Via:
|
64
|
+
- 1.1 vegur
|
65
|
+
Cf-Cache-Status:
|
66
|
+
- DYNAMIC
|
67
|
+
Report-To:
|
68
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=bN92hPz7GN42QtyRg4YR%2BKMTuzd3R241D6A2ktALsB%2F%2FaFwI%2BeJHUMZ9G0oXrDbp%2Binu76aBI%2FC0ICO2Tr0zc8fi9tF1q4XnqyLfgosTjaDE%2BNDcPlRmaduFoDmkc28D4w%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
|
+
- 6f25dd0d0882dee9-SEA
|
75
|
+
Alt-Svc:
|
76
|
+
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
|
77
|
+
body:
|
78
|
+
encoding: UTF-8
|
79
|
+
string: '{"challenge":{"object":"authentication_challenge","id":"auth_challenge_01FZ4YVRBMXP5ZM0A7BP4AJ12J","created_at":"2022-03-27T05:51:24.531Z","updated_at":"2022-03-27T05:51:24.531Z","expires_at":"2022-03-27T06:01:24.532Z","code":"897792","authentication_factor_id":"auth_factor_01FZ4YVH2XFQBJXJ4NQVJSSY8Q"},"valid":false}'
|
80
|
+
http_version:
|
81
|
+
recorded_at: Sun, 27 Mar 2022 05:53:03 GMT
|
82
|
+
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: 2.
|
4
|
+
version: 2.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- WorkOS
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sorbet-runtime
|
@@ -212,12 +212,14 @@ files:
|
|
212
212
|
- lib/workos/challenge.rb
|
213
213
|
- lib/workos/client.rb
|
214
214
|
- lib/workos/connection.rb
|
215
|
+
- lib/workos/deprecated_hash_wrapper.rb
|
215
216
|
- lib/workos/directory.rb
|
216
217
|
- lib/workos/directory_group.rb
|
217
218
|
- lib/workos/directory_sync.rb
|
218
219
|
- lib/workos/directory_user.rb
|
219
220
|
- lib/workos/errors.rb
|
220
221
|
- lib/workos/factor.rb
|
222
|
+
- lib/workos/hash_provider.rb
|
221
223
|
- lib/workos/mfa.rb
|
222
224
|
- lib/workos/organization.rb
|
223
225
|
- lib/workos/organizations.rb
|
@@ -282,6 +284,7 @@ files:
|
|
282
284
|
- spec/lib/workos/audit_trail_spec.rb
|
283
285
|
- spec/lib/workos/base_spec.rb
|
284
286
|
- spec/lib/workos/directory_sync_spec.rb
|
287
|
+
- spec/lib/workos/directory_user_spec.rb
|
285
288
|
- spec/lib/workos/mfa_spec.rb
|
286
289
|
- spec/lib/workos/organizations_spec.rb
|
287
290
|
- spec/lib/workos/passwordless_spec.rb
|
@@ -333,6 +336,7 @@ files:
|
|
333
336
|
- spec/support/fixtures/vcr_cassettes/mfa/verify_factor_generic_expired.yml
|
334
337
|
- spec/support/fixtures/vcr_cassettes/mfa/verify_factor_generic_invalid.yml
|
335
338
|
- spec/support/fixtures/vcr_cassettes/mfa/verify_factor_generic_valid.yml
|
339
|
+
- spec/support/fixtures/vcr_cassettes/mfa/verify_factor_generic_valid_is_false.yml
|
336
340
|
- spec/support/fixtures/vcr_cassettes/organization/create.yml
|
337
341
|
- spec/support/fixtures/vcr_cassettes/organization/create_invalid.yml
|
338
342
|
- spec/support/fixtures/vcr_cassettes/organization/delete.yml
|
@@ -384,7 +388,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
384
388
|
- !ruby/object:Gem::Version
|
385
389
|
version: '0'
|
386
390
|
requirements: []
|
387
|
-
rubygems_version: 3.3.
|
391
|
+
rubygems_version: 3.3.18
|
388
392
|
signing_key:
|
389
393
|
specification_version: 4
|
390
394
|
summary: API client for WorkOS
|
@@ -392,6 +396,7 @@ test_files:
|
|
392
396
|
- spec/lib/workos/audit_trail_spec.rb
|
393
397
|
- spec/lib/workos/base_spec.rb
|
394
398
|
- spec/lib/workos/directory_sync_spec.rb
|
399
|
+
- spec/lib/workos/directory_user_spec.rb
|
395
400
|
- spec/lib/workos/mfa_spec.rb
|
396
401
|
- spec/lib/workos/organizations_spec.rb
|
397
402
|
- spec/lib/workos/passwordless_spec.rb
|
@@ -443,6 +448,7 @@ test_files:
|
|
443
448
|
- spec/support/fixtures/vcr_cassettes/mfa/verify_factor_generic_expired.yml
|
444
449
|
- spec/support/fixtures/vcr_cassettes/mfa/verify_factor_generic_invalid.yml
|
445
450
|
- spec/support/fixtures/vcr_cassettes/mfa/verify_factor_generic_valid.yml
|
451
|
+
- spec/support/fixtures/vcr_cassettes/mfa/verify_factor_generic_valid_is_false.yml
|
446
452
|
- spec/support/fixtures/vcr_cassettes/organization/create.yml
|
447
453
|
- spec/support/fixtures/vcr_cassettes/organization/create_invalid.yml
|
448
454
|
- spec/support/fixtures/vcr_cassettes/organization/delete.yml
|