workos 7.1.0 → 7.1.2
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.
- checksums.yaml +4 -4
- data/.oagen-manifest.json +1 -1
- data/.release-please-manifest.json +1 -1
- data/CHANGELOG.md +16 -0
- data/Gemfile.lock +2 -2
- data/lib/workos/api_keys.rb +1 -1
- data/lib/workos/audit_logs.rb +2 -2
- data/lib/workos/authorization.rb +128 -116
- data/lib/workos/base_client.rb +6 -1
- data/lib/workos/encryptors/aes_gcm.rb +35 -3
- data/lib/workos/groups.rb +1 -1
- data/lib/workos/multi_factor_auth.rb +1 -1
- data/lib/workos/organization_domains.rb +1 -1
- data/lib/workos/radar.rb +2 -2
- data/lib/workos/session.rb +16 -5
- data/lib/workos/sso.rb +2 -2
- data/lib/workos/user_management.rb +74 -65
- data/lib/workos/version.rb +1 -1
- data/lib/workos/webhooks.rb +1 -1
- data/rbi/workos/authorization.rbi +100 -26
- data/rbi/workos/user_management.rbi +60 -14
- data/test/workos/test_audit_logs.rb +2 -2
- data/test/workos/test_authorization.rb +86 -20
- data/test/workos/test_encryptors_aes_gcm.rb +21 -0
- data/test/workos/test_session.rb +193 -0
- data/test/workos/test_user_management.rb +44 -8
- data/test/workos/test_webhooks.rb +2 -2
- metadata +2 -2
|
@@ -203,8 +203,17 @@ class UserManagementTest < Minitest::Test
|
|
|
203
203
|
|
|
204
204
|
def test_create_user_returns_expected_result
|
|
205
205
|
stub_request(:post, %r{\Ahttps://api\.workos\.com/user_management/users(\?|\z)})
|
|
206
|
+
.with(body: hash_including("email" => "stub", "password" => "stub"))
|
|
206
207
|
.to_return(body: "{}", status: 200)
|
|
207
|
-
result = @client.user_management.create_user(email: "stub")
|
|
208
|
+
result = @client.user_management.create_user(email: "stub", password: WorkOS::UserManagement::PasswordPlaintext.new(password: "stub"))
|
|
209
|
+
refute_nil result
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
def test_create_user_with_password_hashed_returns_expected_result
|
|
213
|
+
stub_request(:post, %r{\Ahttps://api\.workos\.com/user_management/users(\?|\z)})
|
|
214
|
+
.with(body: hash_including("email" => "stub", "password_hash" => "stub", "password_hash_type" => "stub"))
|
|
215
|
+
.to_return(body: "{}", status: 200)
|
|
216
|
+
result = @client.user_management.create_user(email: "stub", password: WorkOS::UserManagement::PasswordHashed.new(password_hash: "stub", password_hash_type: "stub"))
|
|
208
217
|
refute_nil result
|
|
209
218
|
end
|
|
210
219
|
|
|
@@ -224,8 +233,17 @@ class UserManagementTest < Minitest::Test
|
|
|
224
233
|
|
|
225
234
|
def test_update_user_returns_expected_result
|
|
226
235
|
stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/users/stub(\?|\z)})
|
|
236
|
+
.with(body: hash_including("password" => "stub"))
|
|
237
|
+
.to_return(body: "{}", status: 200)
|
|
238
|
+
result = @client.user_management.update_user(id: "stub", password: WorkOS::UserManagement::PasswordPlaintext.new(password: "stub"))
|
|
239
|
+
refute_nil result
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
def test_update_user_with_password_hashed_returns_expected_result
|
|
243
|
+
stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/users/stub(\?|\z)})
|
|
244
|
+
.with(body: hash_including("password_hash" => "stub", "password_hash_type" => "stub"))
|
|
227
245
|
.to_return(body: "{}", status: 200)
|
|
228
|
-
result = @client.user_management.update_user(id: "stub")
|
|
246
|
+
result = @client.user_management.update_user(id: "stub", password: WorkOS::UserManagement::PasswordHashed.new(password_hash: "stub", password_hash_type: "stub"))
|
|
229
247
|
refute_nil result
|
|
230
248
|
end
|
|
231
249
|
|
|
@@ -357,8 +375,17 @@ class UserManagementTest < Minitest::Test
|
|
|
357
375
|
|
|
358
376
|
def test_create_organization_membership_returns_expected_result
|
|
359
377
|
stub_request(:post, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)})
|
|
378
|
+
.with(body: hash_including("user_id" => "stub", "organization_id" => "stub", "role_slug" => "stub"))
|
|
360
379
|
.to_return(body: "{}", status: 200)
|
|
361
|
-
result = @client.user_management.create_organization_membership(user_id: "stub", organization_id: "stub")
|
|
380
|
+
result = @client.user_management.create_organization_membership(user_id: "stub", organization_id: "stub", role: WorkOS::UserManagement::RoleSingle.new(role_slug: "stub"))
|
|
381
|
+
refute_nil result
|
|
382
|
+
end
|
|
383
|
+
|
|
384
|
+
def test_create_organization_membership_with_role_multiple_returns_expected_result
|
|
385
|
+
stub_request(:post, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)})
|
|
386
|
+
.with(body: hash_including("user_id" => "stub", "organization_id" => "stub", "role_slugs" => ["stub"]))
|
|
387
|
+
.to_return(body: "{}", status: 200)
|
|
388
|
+
result = @client.user_management.create_organization_membership(user_id: "stub", organization_id: "stub", role: WorkOS::UserManagement::RoleMultiple.new(role_slugs: ["stub"]))
|
|
362
389
|
refute_nil result
|
|
363
390
|
end
|
|
364
391
|
|
|
@@ -371,8 +398,17 @@ class UserManagementTest < Minitest::Test
|
|
|
371
398
|
|
|
372
399
|
def test_update_organization_membership_returns_expected_result
|
|
373
400
|
stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)})
|
|
401
|
+
.with(body: hash_including("role_slug" => "stub"))
|
|
402
|
+
.to_return(body: "{}", status: 200)
|
|
403
|
+
result = @client.user_management.update_organization_membership(id: "stub", role: WorkOS::UserManagement::RoleSingle.new(role_slug: "stub"))
|
|
404
|
+
refute_nil result
|
|
405
|
+
end
|
|
406
|
+
|
|
407
|
+
def test_update_organization_membership_with_role_multiple_returns_expected_result
|
|
408
|
+
stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)})
|
|
409
|
+
.with(body: hash_including("role_slugs" => ["stub"]))
|
|
374
410
|
.to_return(body: "{}", status: 200)
|
|
375
|
-
result = @client.user_management.update_organization_membership(id: "stub")
|
|
411
|
+
result = @client.user_management.update_organization_membership(id: "stub", role: WorkOS::UserManagement::RoleMultiple.new(role_slugs: ["stub"]))
|
|
376
412
|
refute_nil result
|
|
377
413
|
end
|
|
378
414
|
|
|
@@ -430,10 +466,10 @@ class UserManagementTest < Minitest::Test
|
|
|
430
466
|
{name: :confirm_password_reset, verb: :post, url: %r{\Ahttps://api\.workos\.com/user_management/password_reset/confirm(\?|\z)}, args: {token: "stub", new_password: "stub"}},
|
|
431
467
|
{name: :get_password_reset, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/password_reset/stub(\?|\z)}, args: {id: "stub"}},
|
|
432
468
|
{name: :list_users, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/users(\?|\z)}},
|
|
433
|
-
{name: :create_user, verb: :post, url: %r{\Ahttps://api\.workos\.com/user_management/users(\?|\z)}, args: {email: "stub"}},
|
|
469
|
+
{name: :create_user, verb: :post, url: %r{\Ahttps://api\.workos\.com/user_management/users(\?|\z)}, args: {email: "stub", password: WorkOS::UserManagement::PasswordPlaintext.new(password: "stub")}},
|
|
434
470
|
{name: :get_user_by_external_id, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/users/external_id/stub(\?|\z)}, args: {external_id: "stub"}},
|
|
435
471
|
{name: :get_user, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/users/stub(\?|\z)}, args: {id: "stub"}},
|
|
436
|
-
{name: :update_user, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/users/stub(\?|\z)}, args: {id: "stub"}},
|
|
472
|
+
{name: :update_user, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/users/stub(\?|\z)}, args: {id: "stub", password: WorkOS::UserManagement::PasswordPlaintext.new(password: "stub")}},
|
|
437
473
|
{name: :delete_user, verb: :delete, url: %r{\Ahttps://api\.workos\.com/user_management/users/stub(\?|\z)}, args: {id: "stub"}},
|
|
438
474
|
{name: :confirm_email_change, verb: :post, url: %r{\Ahttps://api\.workos\.com/user_management/users/stub/email_change/confirm(\?|\z)}, args: {id: "stub", code: "stub"}},
|
|
439
475
|
{name: :send_email_change, verb: :post, url: %r{\Ahttps://api\.workos\.com/user_management/users/stub/email_change/send(\?|\z)}, args: {id: "stub", new_email: "stub"}},
|
|
@@ -452,9 +488,9 @@ class UserManagementTest < Minitest::Test
|
|
|
452
488
|
{name: :create_magic_auth, verb: :post, url: %r{\Ahttps://api\.workos\.com/user_management/magic_auth(\?|\z)}, args: {email: "stub"}},
|
|
453
489
|
{name: :get_magic_auth, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/magic_auth/stub(\?|\z)}, args: {id: "stub"}},
|
|
454
490
|
{name: :list_organization_memberships, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}},
|
|
455
|
-
{name: :create_organization_membership, verb: :post, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}, args: {user_id: "stub", organization_id: "stub"}},
|
|
491
|
+
{name: :create_organization_membership, verb: :post, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}, args: {user_id: "stub", organization_id: "stub", role: WorkOS::UserManagement::RoleSingle.new(role_slug: "stub")}},
|
|
456
492
|
{name: :get_organization_membership, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}, args: {id: "stub"}},
|
|
457
|
-
{name: :update_organization_membership, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}, args: {id: "stub"}},
|
|
493
|
+
{name: :update_organization_membership, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}, args: {id: "stub", role: WorkOS::UserManagement::RoleSingle.new(role_slug: "stub")}},
|
|
458
494
|
{name: :delete_organization_membership, verb: :delete, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}, args: {id: "stub"}},
|
|
459
495
|
{name: :deactivate_organization_membership, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/deactivate(\?|\z)}, args: {id: "stub"}},
|
|
460
496
|
{name: :reactivate_organization_membership, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/reactivate(\?|\z)}, args: {id: "stub"}},
|
|
@@ -21,7 +21,7 @@ class WebhooksTest < Minitest::Test
|
|
|
21
21
|
def test_create_webhook_endpoint_returns_expected_result
|
|
22
22
|
stub_request(:post, %r{\Ahttps://api\.workos\.com/webhook_endpoints(\?|\z)})
|
|
23
23
|
.to_return(body: "{}", status: 200)
|
|
24
|
-
result = @client.webhooks.create_webhook_endpoint(endpoint_url: "stub", events: [])
|
|
24
|
+
result = @client.webhooks.create_webhook_endpoint(endpoint_url: "stub", events: ["stub"])
|
|
25
25
|
refute_nil result
|
|
26
26
|
end
|
|
27
27
|
|
|
@@ -42,7 +42,7 @@ class WebhooksTest < Minitest::Test
|
|
|
42
42
|
# Parameterized authentication error tests (one per endpoint).
|
|
43
43
|
[
|
|
44
44
|
{name: :list_webhook_endpoints, verb: :get, url: %r{\Ahttps://api\.workos\.com/webhook_endpoints(\?|\z)}},
|
|
45
|
-
{name: :create_webhook_endpoint, verb: :post, url: %r{\Ahttps://api\.workos\.com/webhook_endpoints(\?|\z)}, args: {endpoint_url: "stub", events: []}},
|
|
45
|
+
{name: :create_webhook_endpoint, verb: :post, url: %r{\Ahttps://api\.workos\.com/webhook_endpoints(\?|\z)}, args: {endpoint_url: "stub", events: ["stub"]}},
|
|
46
46
|
{name: :update_webhook_endpoint, verb: :patch, url: %r{\Ahttps://api\.workos\.com/webhook_endpoints/stub(\?|\z)}, args: {id: "stub"}},
|
|
47
47
|
{name: :delete_webhook_endpoint, verb: :delete, url: %r{\Ahttps://api\.workos\.com/webhook_endpoints/stub(\?|\z)}, args: {id: "stub"}}
|
|
48
48
|
].each do |spec|
|
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: 7.1.
|
|
4
|
+
version: 7.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- WorkOS
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-05-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jwt
|