workos 0.4.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +10 -11
  3. data/README.md +7 -0
  4. data/lib/workos.rb +3 -0
  5. data/lib/workos/audit_trail.rb +2 -2
  6. data/lib/workos/client.rb +13 -7
  7. data/lib/workos/organization.rb +49 -0
  8. data/lib/workos/passwordless.rb +81 -0
  9. data/lib/workos/portal.rb +149 -0
  10. data/lib/workos/profile.rb +7 -2
  11. data/lib/workos/types.rb +3 -4
  12. data/lib/workos/types/intent_enum.rb +14 -0
  13. data/lib/workos/types/list_struct.rb +13 -0
  14. data/lib/workos/types/organization_struct.rb +14 -0
  15. data/lib/workos/types/passwordless_session_struct.rb +15 -0
  16. data/lib/workos/types/profile_struct.rb +2 -1
  17. data/lib/workos/version.rb +1 -1
  18. data/spec/lib/workos/passwordless_spec.rb +82 -0
  19. data/spec/lib/workos/portal_spec.rb +176 -0
  20. data/spec/lib/workos/sso_spec.rb +18 -0
  21. data/spec/support/fixtures/vcr_cassettes/organization/create.yml +72 -0
  22. data/spec/support/fixtures/vcr_cassettes/organization/create_invalid.yml +72 -0
  23. data/spec/support/fixtures/vcr_cassettes/organization/list.yml +72 -0
  24. data/spec/support/fixtures/vcr_cassettes/passwordless/create_session.yml +72 -0
  25. data/spec/support/fixtures/vcr_cassettes/passwordless/create_session_invalid.yml +73 -0
  26. data/spec/support/fixtures/vcr_cassettes/passwordless/send_session.yml +72 -0
  27. data/spec/support/fixtures/vcr_cassettes/passwordless/send_session_invalid.yml +73 -0
  28. data/spec/support/fixtures/vcr_cassettes/portal/generate_link.yml +72 -0
  29. data/spec/support/fixtures/vcr_cassettes/portal/generate_link_invalid.yml +72 -0
  30. data/spec/support/profile.txt +1 -1
  31. data/workos.gemspec +2 -1
  32. metadata +47 -4
@@ -0,0 +1,72 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.workos.com/portal/generate_link
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"intent":"sso","organization":"bogus-id","return_url":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/2.7.1; x86_64-darwin19; v0.5.0
18
+ Authorization:
19
+ - Bearer <API_KEY>
20
+ response:
21
+ status:
22
+ code: 400
23
+ message: Bad Request
24
+ headers:
25
+ Server:
26
+ - Cowboy
27
+ Connection:
28
+ - keep-alive
29
+ Vary:
30
+ - Origin, Accept-Encoding
31
+ Access-Control-Allow-Credentials:
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'
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
+ X-Request-Id:
56
+ - f1c46aa5-0d87-4d9a-b2ce-dc0505eb8f75
57
+ Content-Type:
58
+ - application/json; charset=utf-8
59
+ Content-Length:
60
+ - '67'
61
+ Etag:
62
+ - W/"43-kRRkij6uWMfZoSUJpiGbSXw7SNc"
63
+ Date:
64
+ - Thu, 10 Sep 2020 16:14:41 GMT
65
+ Via:
66
+ - 1.1 vegur
67
+ body:
68
+ encoding: UTF-8
69
+ string: '{"message":"Could not find an organization with the id, bogus-id."}'
70
+ http_version:
71
+ recorded_at: Thu, 10 Sep 2020 16:14:41 GMT
72
+ recorded_with: VCR 5.0.0
@@ -1 +1 @@
1
- {"profile":{"object":"profile","id":"prof_01DRA1XNSJDZ19A31F183ECQW5","email":"demo@workos-okta.com","first_name":"WorkOS","connection_type":"OktaSAML","last_name":"Demo","idp_id":"00u1klkowm8EGah2H357"},"access_token":"01DVX6QBS3EG6FHY2ESAA5Q65X"}
1
+ {"profile":{"object":"profile","id":"prof_01DRA1XNSJDZ19A31F183ECQW5","email":"demo@workos-okta.com","first_name":"WorkOS","connection_type":"OktaSAML","last_name":"Demo","idp_id":"00u1klkowm8EGah2H357","raw_attributes":{"id":"prof_01DRA1XNSJDZ19A31F183ECQW5","email":"demo@workos-okta.com","first_name":"WorkOS","last_name":"Demo","idp_id":"00u1klkowm8EGah2H357"}},"access_token":"01DVX6QBS3EG6FHY2ESAA5Q65X"}
@@ -22,10 +22,11 @@ Gem::Specification.new do |spec|
22
22
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
23
23
  spec.require_paths = ['lib']
24
24
 
25
+ spec.add_dependency 'require_all', '~> 3.0.0'
25
26
  spec.add_dependency 'sorbet-runtime', '~> 0.5'
26
27
 
27
28
  spec.add_development_dependency 'bundler', '>= 2.0.1'
28
- spec.add_development_dependency 'codecov', '~> 0.1.16'
29
+ spec.add_development_dependency 'codecov', '~> 0.2.8'
29
30
  spec.add_development_dependency 'rake'
30
31
  spec.add_development_dependency 'rspec', '~> 3.9.0'
31
32
  spec.add_development_dependency 'rubocop', '~> 0.77'
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - WorkOS
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-05 00:00:00.000000000 Z
11
+ date: 2020-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: require_all
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 3.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 3.0.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: sorbet-runtime
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +58,14 @@ dependencies:
44
58
  requirements:
45
59
  - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: 0.1.16
61
+ version: 0.2.8
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: 0.1.16
68
+ version: 0.2.8
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rake
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -213,10 +227,17 @@ files:
213
227
  - lib/workos/connection.rb
214
228
  - lib/workos/directory_sync.rb
215
229
  - lib/workos/errors.rb
230
+ - lib/workos/organization.rb
231
+ - lib/workos/passwordless.rb
232
+ - lib/workos/portal.rb
216
233
  - lib/workos/profile.rb
217
234
  - lib/workos/sso.rb
218
235
  - lib/workos/types.rb
219
236
  - lib/workos/types/connection_struct.rb
237
+ - lib/workos/types/intent_enum.rb
238
+ - lib/workos/types/list_struct.rb
239
+ - lib/workos/types/organization_struct.rb
240
+ - lib/workos/types/passwordless_session_struct.rb
220
241
  - lib/workos/types/profile_struct.rb
221
242
  - lib/workos/types/provider_enum.rb
222
243
  - lib/workos/version.rb
@@ -232,6 +253,8 @@ files:
232
253
  - spec/lib/workos/audit_trail_spec.rb
233
254
  - spec/lib/workos/base_spec.rb
234
255
  - spec/lib/workos/directory_sync_spec.rb
256
+ - spec/lib/workos/passwordless_spec.rb
257
+ - spec/lib/workos/portal_spec.rb
235
258
  - spec/lib/workos/sso_spec.rb
236
259
  - spec/spec_helper.rb
237
260
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event.yml
@@ -251,6 +274,15 @@ files:
251
274
  - spec/support/fixtures/vcr_cassettes/directory_sync/list_groups_with_directory_param.yml
252
275
  - spec/support/fixtures/vcr_cassettes/directory_sync/list_users.yml
253
276
  - spec/support/fixtures/vcr_cassettes/directory_sync/list_users_with_directory_param.yml
277
+ - spec/support/fixtures/vcr_cassettes/organization/create.yml
278
+ - spec/support/fixtures/vcr_cassettes/organization/create_invalid.yml
279
+ - spec/support/fixtures/vcr_cassettes/organization/list.yml
280
+ - spec/support/fixtures/vcr_cassettes/passwordless/create_session.yml
281
+ - spec/support/fixtures/vcr_cassettes/passwordless/create_session_invalid.yml
282
+ - spec/support/fixtures/vcr_cassettes/passwordless/send_session.yml
283
+ - spec/support/fixtures/vcr_cassettes/passwordless/send_session_invalid.yml
284
+ - spec/support/fixtures/vcr_cassettes/portal/generate_link.yml
285
+ - spec/support/fixtures/vcr_cassettes/portal/generate_link_invalid.yml
254
286
  - spec/support/fixtures/vcr_cassettes/sso/create_connection_with_invalid_source.yml
255
287
  - spec/support/fixtures/vcr_cassettes/sso/create_connection_with_valid_source.yml
256
288
  - spec/support/profile.txt
@@ -283,6 +315,8 @@ test_files:
283
315
  - spec/lib/workos/audit_trail_spec.rb
284
316
  - spec/lib/workos/base_spec.rb
285
317
  - spec/lib/workos/directory_sync_spec.rb
318
+ - spec/lib/workos/passwordless_spec.rb
319
+ - spec/lib/workos/portal_spec.rb
286
320
  - spec/lib/workos/sso_spec.rb
287
321
  - spec/spec_helper.rb
288
322
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event.yml
@@ -302,6 +336,15 @@ test_files:
302
336
  - spec/support/fixtures/vcr_cassettes/directory_sync/list_groups_with_directory_param.yml
303
337
  - spec/support/fixtures/vcr_cassettes/directory_sync/list_users.yml
304
338
  - spec/support/fixtures/vcr_cassettes/directory_sync/list_users_with_directory_param.yml
339
+ - spec/support/fixtures/vcr_cassettes/organization/create.yml
340
+ - spec/support/fixtures/vcr_cassettes/organization/create_invalid.yml
341
+ - spec/support/fixtures/vcr_cassettes/organization/list.yml
342
+ - spec/support/fixtures/vcr_cassettes/passwordless/create_session.yml
343
+ - spec/support/fixtures/vcr_cassettes/passwordless/create_session_invalid.yml
344
+ - spec/support/fixtures/vcr_cassettes/passwordless/send_session.yml
345
+ - spec/support/fixtures/vcr_cassettes/passwordless/send_session_invalid.yml
346
+ - spec/support/fixtures/vcr_cassettes/portal/generate_link.yml
347
+ - spec/support/fixtures/vcr_cassettes/portal/generate_link_invalid.yml
305
348
  - spec/support/fixtures/vcr_cassettes/sso/create_connection_with_invalid_source.yml
306
349
  - spec/support/fixtures/vcr_cassettes/sso/create_connection_with_valid_source.yml
307
350
  - spec/support/profile.txt