workos 2.1.1 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/.semaphore/semaphore.yml +13 -39
  3. data/Gemfile.lock +2 -2
  4. data/README.md +4 -0
  5. data/lib/workos/challenge.rb +54 -0
  6. data/lib/workos/client.rb +2 -0
  7. data/lib/workos/directory_sync.rb +1 -0
  8. data/lib/workos/errors.rb +3 -1
  9. data/lib/workos/factor.rb +58 -0
  10. data/lib/workos/mfa.rb +165 -0
  11. data/lib/workos/types/challenge_struct.rb +18 -0
  12. data/lib/workos/types/factor_struct.rb +19 -0
  13. data/lib/workos/types/verify_factor_struct.rb +15 -0
  14. data/lib/workos/types.rb +3 -0
  15. data/lib/workos/verify_factor.rb +39 -0
  16. data/lib/workos/version.rb +1 -1
  17. data/lib/workos/webhooks.rb +1 -1
  18. data/lib/workos.rb +5 -0
  19. data/spec/lib/workos/mfa_spec.rb +232 -0
  20. data/spec/lib/workos/sso_spec.rb +0 -2
  21. data/spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_generic_valid.yml +82 -0
  22. data/spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_sms_valid.yml +82 -0
  23. data/spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_totp_valid.yml +82 -0
  24. data/spec/support/fixtures/vcr_cassettes/mfa/delete_factor.yml +80 -0
  25. data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_generic_valid.yml +82 -0
  26. data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_sms_valid.yml +82 -0
  27. data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_totp_valid.yml +82 -0
  28. data/spec/support/fixtures/vcr_cassettes/mfa/get_factor_invalid.yml +82 -0
  29. data/spec/support/fixtures/vcr_cassettes/mfa/get_factor_valid.yml +82 -0
  30. data/spec/support/fixtures/vcr_cassettes/mfa/verify_factor_generic_expired.yml +84 -0
  31. data/spec/support/fixtures/vcr_cassettes/mfa/verify_factor_generic_invalid.yml +84 -0
  32. data/spec/support/fixtures/vcr_cassettes/mfa/verify_factor_generic_valid.yml +82 -0
  33. metadata +36 -3
@@ -0,0 +1,82 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.workos.com/auth/factors/enroll
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"type":"sms","totp_issuer":null,"totp_user":null,"phone_number":"16073517112"}'
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
+ - Mon, 28 Mar 2022 15:21:01 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '269'
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
+ - e71fdbab-074a-4bf3-a31d-734e6210fdb9
61
+ Etag:
62
+ - W/"10d-s7YFa2CZnDwEUgFqpAYbiwzv0+U"
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=J%2BBvROB9mj71IVd8IMQvLNpgfbJcnEsWO7yH6hwf%2Fn6S8kZeDiyTReKQlGZwK76iF%2FZeSTNAINWXatf7zB4lxEDy%2FWOesjX2kRVNDLc7rSWAC%2F0Z4wyfxW%2FZnWS6o3k9ig%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
+ - 6f315a63e8b76083-SEA
75
+ Alt-Svc:
76
+ - h3=":443"; ma=86400, h3-29=":443"; ma=86400
77
+ body:
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","environment_id":"environment_01EQ1FTYTAZCVYSV4SYSRWRR3A","sms":{"phone_number":"+55555555555"}}'
80
+ http_version:
81
+ recorded_at: Mon, 28 Mar 2022 15:21:01 GMT
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/enroll
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"type":"totp","totp_issuer":"WorkOS","totp_user":"some_user","phone_number":null}'
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 04:40:00 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
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
+ - b5f94f4b-f7d0-4251-88cf-5843e9dc0689
61
+ Etag:
62
+ - W/"1852-PXRL614j7Vn/X3IdFKgKqOVSMe8"
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=LJ%2F1lJPNJg66mkvbR04zhJEIQlBW1LVeRaV4OtIwaCgRXJghmP6z%2BaoiXMEdD03wqMIZZFN13KrjaKv7Q%2FmIiahSd3o2bzXl6zHzlu%2FXDdx%2FyWo%2FMNFyeVPKsLpwJYmICw%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
+ - 6f257208da875fe0-SEA
75
+ Alt-Svc:
76
+ - h3=":443"; ma=86400, h3-29=":443"; ma=86400
77
+ body:
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","environment_id":"environment_01EQ1FTYTAZCVYSV4SYSRWRR3A","totp":{"qr_code":"data:image/png;base64,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","secret":"LNASAT3PGQDTE5J4M4YDCTTOPZGBCAIW","uri":"otpauth://totp/WorkOS:some_user?secret=LNASAT3PGQDTE5J4M4YDCTTOPZGBCAIW&issuer=WorkOS"}}'
80
+ http_version:
81
+ recorded_at: Sun, 27 Mar 2022 04:40:00 GMT
82
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,82 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.workos.com/auth/factors/auth_factor_invalid
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
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: 404
23
+ message: Not Found
24
+ headers:
25
+ Date:
26
+ - Sun, 27 Mar 2022 19:13:46 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
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
+ - 420e600d-eefe-4d5a-9553-ecd64696df9a
61
+ Etag:
62
+ - W/"81-gfVNI7PEuzipMtQc8g0k4FkGMX4"
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=rs%2Bgf1yWJ3sruiTdP60bWgdBvyit6Pwe097bf8zWCXoc9vNlILeU5%2B3GUsiiT7cIgs8Uz%2FXhFrYCGD%2FegiqaotpP2Te7Blj2JYFSJydjQndRo2t6MHFS5kQ4NHn4ES%2B8%2BQ%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
+ - 6f2a71f749c5601c-SEA
75
+ Alt-Svc:
76
+ - h3=":443"; ma=86400, h3-29=":443"; ma=86400
77
+ body:
78
+ encoding: ASCII-8BIT
79
+ string: '{"message":"Authentication Factor not found: ''auth_factor_invalid''.","code":"entity_not_found","entity_id":"auth_factor_invalid"}'
80
+ http_version:
81
+ recorded_at: Sun, 27 Mar 2022 19:13:46 GMT
82
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,82 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.workos.com/auth/factors/auth_factor_01FZ4WMXXA09XF6NK1XMKNWB3M
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
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: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Sun, 27 Mar 2022 19:11:09 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
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
+ - 5766763a-5aaf-4892-8ae9-2f929398230e
61
+ Etag:
62
+ - W/"ef-wqcMjWChK4ut5ZQqtU8qO89bfTU"
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=7FLax7DlJtEaLUKB4v2ggq5QhJ9I9geEoDfZJd7em4t8cEqamHvfjLoLu7SkHbLzHSs%2FiaBNO7Ux9D4ESkvvw50exovd2wNpO%2B96U79ZYnWqtijqucWaL4jBB2aJ2jhdUQ%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
+ - 6f2a6e231fc039fc-SEA
75
+ Alt-Svc:
76
+ - h3=":443"; ma=86400, h3-29=":443"; ma=86400
77
+ body:
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","environment_id":"environment_01EQ1FTYTAZCVYSV4SYSRWRR3A"}'
80
+ http_version:
81
+ recorded_at: Sun, 27 Mar 2022 19:11:09 GMT
82
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,84 @@
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: 422
23
+ message: Unprocessable Entity
24
+ headers:
25
+ Date:
26
+ - Sun, 27 Mar 2022 05:54:30 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '167'
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
+ - 3bf7c473-ef39-4a3f-85fa-609ab4fcfdb4
61
+ Etag:
62
+ - W/"a7-3Az5u04ipYu1XY+wqhSwUOFImFI"
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=gQNkvWQQyL0h1kES333sXgQvo4JV9Bzm%2Bre%2BzJSsD8l%2F4sVjZ1ehj0dDfP40lHYCwx%2FLZ93avI155XM9JkY%2BxYyCAlRXobk2DfsyKmkTkhnWR4AxV%2BTWECeARqtTewSryA%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
+ - 6f25df294a253a32-SEA
75
+ Alt-Svc:
76
+ - h3=":443"; ma=86400, h3-29=":443"; ma=86400
77
+ body:
78
+ encoding: UTF-8
79
+ string: '{"code":"authentication_challenge_expired","message":"The
80
+ authentication challenge ''auth_challenge_01FZ4YVRBMXP5ZM0A7BP4AJ12J'' has
81
+ expired."}'
82
+ http_version:
83
+ recorded_at: Sun, 27 Mar 2022 05:54:30 GMT
84
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,84 @@
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: 422
23
+ message: Unprocessable Entity
24
+ headers:
25
+ Date:
26
+ - Sun, 27 Mar 2022 05:54:30 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '167'
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
+ - 3bf7c473-ef39-4a3f-85fa-609ab4fcfdb4
61
+ Etag:
62
+ - W/"a7-3Az5u04ipYu1XY+wqhSwUOFImFI"
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=gQNkvWQQyL0h1kES333sXgQvo4JV9Bzm%2Bre%2BzJSsD8l%2F4sVjZ1ehj0dDfP40lHYCwx%2FLZ93avI155XM9JkY%2BxYyCAlRXobk2DfsyKmkTkhnWR4AxV%2BTWECeARqtTewSryA%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
+ - 6f25df294a253a32-SEA
75
+ Alt-Svc:
76
+ - h3=":443"; ma=86400, h3-29=":443"; ma=86400
77
+ body:
78
+ encoding: UTF-8
79
+ string: '{"code":"authentication_challenge_previously_verified","message":"The
80
+ authentication challenge ''auth_challenge_01FZ4YVRBMXP5ZM0A7BP4AJ12J'' has
81
+ already been verified."}'
82
+ http_version:
83
+ recorded_at: Sun, 27 Mar 2022 05:54:30 GMT
84
+ 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":true}'
80
+ http_version:
81
+ recorded_at: Sun, 27 Mar 2022 05:53:03 GMT
82
+ recorded_with: VCR 5.0.0