workos 0.4.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
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