workos 8.0.0 → 9.0.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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +1 -1
- data/.github/workflows/docs.yml +5 -2
- data/.github/workflows/lint.yml +1 -1
- data/.github/workflows/release-please.yml +176 -5
- data/.github/workflows/release.yml +1 -1
- data/.last-synced-sha +1 -1
- data/.oagen-manifest.json +129 -34
- data/.release-please-manifest.json +1 -1
- data/CHANGELOG.md +66 -0
- data/Gemfile.lock +4 -4
- data/README.md +19 -0
- data/docs/V7_MIGRATION_GUIDE.md +21 -0
- data/lib/workos/actions.rb +1 -1
- data/lib/workos/api_keys/api_key.rb +3 -0
- data/lib/workos/api_keys/api_key_created.rb +5 -5
- data/lib/workos/api_keys/api_key_created_data.rb +3 -0
- data/lib/workos/api_keys/api_key_revoked.rb +5 -5
- data/lib/workos/api_keys/create_organization_api_key.rb +5 -2
- data/lib/workos/api_keys/organization_api_key.rb +3 -0
- data/lib/workos/api_keys/organization_api_key_with_value.rb +3 -0
- data/lib/workos/api_keys.rb +4 -1
- data/lib/workos/audit_logs/audit_log_action.rb +2 -7
- data/lib/workos/audit_logs/audit_log_export.rb +2 -7
- data/lib/workos/audit_logs/audit_log_schema.rb +11 -2
- data/lib/workos/audit_logs/{audit_log_schema_json_actor.rb → audit_log_schema_actor_input.rb} +1 -1
- data/lib/workos/audit_logs/audit_log_schema_input.rb +25 -0
- data/lib/workos/audit_logs/audit_log_schema_target.rb +16 -1
- data/lib/workos/{types/radar_type.rb → audit_logs/audit_log_schema_target_input.rb} +1 -3
- data/lib/workos/audit_logs.rb +16 -16
- data/lib/workos/authorization/permission_created.rb +5 -5
- data/lib/workos/authorization/permission_deleted.rb +5 -5
- data/lib/workos/authorization/permission_updated.rb +5 -5
- data/lib/workos/authorization/role_created.rb +5 -5
- data/lib/workos/authorization/role_deleted.rb +5 -5
- data/lib/workos/authorization/role_updated.rb +5 -5
- data/lib/workos/authorization.rb +28 -12
- data/lib/workos/base_client.rb +71 -5
- data/lib/workos/client.rb +6 -6
- data/lib/workos/connect/connect_application.rb +12 -0
- data/lib/workos/{audit_logs/audit_log_schema_json_target.rb → connect/connect_application_redirect_uri.rb} +7 -7
- data/lib/workos/directory_sync/dsync_activated.rb +5 -5
- data/lib/workos/directory_sync/dsync_deactivated.rb +5 -5
- data/lib/workos/directory_sync/dsync_deleted.rb +5 -5
- data/lib/workos/directory_sync/dsync_group_created.rb +5 -5
- data/lib/workos/directory_sync/dsync_group_deleted.rb +5 -5
- data/lib/workos/directory_sync/dsync_group_updated.rb +5 -5
- data/lib/workos/directory_sync/dsync_group_user_added.rb +5 -5
- data/lib/workos/directory_sync/dsync_group_user_removed.rb +5 -5
- data/lib/workos/directory_sync/dsync_user_created.rb +5 -5
- data/lib/workos/directory_sync/dsync_user_deleted.rb +5 -5
- data/lib/workos/directory_sync/dsync_user_updated.rb +5 -5
- data/lib/workos/encryptors/aes_gcm.rb +19 -5
- data/lib/workos/feature_flags/flag_created.rb +5 -5
- data/lib/workos/feature_flags/flag_deleted.rb +5 -5
- data/lib/workos/feature_flags/flag_rule_updated.rb +5 -5
- data/lib/workos/feature_flags/flag_rule_updated_context_configured_target_organization.rb +1 -16
- data/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_context_configured_target_organization.rb +1 -1
- data/lib/workos/feature_flags/flag_updated.rb +5 -5
- data/lib/workos/inflections.rb +4 -1
- data/lib/workos/organization_domains/organization_domain_created.rb +5 -5
- data/lib/workos/organization_domains/organization_domain_deleted.rb +5 -5
- data/lib/workos/organization_domains/organization_domain_updated.rb +5 -5
- data/lib/workos/organization_domains/organization_domain_verification_failed.rb +5 -5
- data/lib/workos/organization_domains/organization_domain_verified.rb +5 -5
- data/lib/workos/organization_membership_service.rb +273 -0
- data/lib/workos/organizations/audit_logs_retention.rb +2 -7
- data/lib/workos/organizations/organization_created.rb +5 -5
- data/lib/workos/organizations/organization_deleted.rb +5 -5
- data/lib/workos/organizations/organization_membership_created.rb +5 -5
- data/lib/workos/organizations/organization_membership_deleted.rb +5 -5
- data/lib/workos/organizations/organization_membership_updated.rb +5 -5
- data/lib/workos/organizations/organization_role_created.rb +5 -5
- data/lib/workos/organizations/organization_role_deleted.rb +5 -5
- data/lib/workos/organizations/organization_role_updated.rb +5 -5
- data/lib/workos/organizations/organization_updated.rb +5 -5
- data/lib/workos/radar/radar_standalone_assess_request.rb +2 -8
- data/lib/workos/radar.rb +6 -12
- data/lib/workos/session.rb +28 -7
- data/lib/workos/session_manager.rb +24 -1
- data/lib/workos/shared/connect_application_m2m.rb +46 -0
- data/lib/workos/shared/connect_application_oauth.rb +58 -0
- data/lib/workos/shared/connect_application_oauth_redirect_uris.rb +22 -0
- data/lib/workos/shared/error_response.rb +18 -0
- data/lib/workos/shared/group_created.rb +5 -5
- data/lib/workos/shared/group_deleted.rb +5 -5
- data/lib/workos/shared/group_member_added.rb +5 -5
- data/lib/workos/shared/group_member_removed.rb +5 -5
- data/lib/workos/shared/group_updated.rb +5 -5
- data/lib/workos/shared/pipe_connected_account.rb +46 -0
- data/lib/workos/{audit_logs/audit_log_export_json.rb → shared/pipes_connected_account_connected.rb} +10 -10
- data/lib/workos/shared/pipes_connected_account_disconnected.rb +34 -0
- data/lib/workos/shared/pipes_connected_account_reauthorization_needed.rb +34 -0
- data/lib/workos/shared/waitlist_user_approved.rb +5 -5
- data/lib/workos/shared/waitlist_user_created.rb +5 -5
- data/lib/workos/shared/waitlist_user_denied.rb +5 -5
- data/lib/workos/sso/connection_activated.rb +5 -5
- data/lib/workos/sso/connection_deactivated.rb +5 -5
- data/lib/workos/sso/connection_deleted.rb +5 -5
- data/lib/workos/sso/connection_saml_certificate_renewal_required.rb +5 -5
- data/lib/workos/sso/connection_saml_certificate_renewed.rb +5 -5
- data/lib/workos/types/create_webhook_endpoint_events.rb +4 -1
- data/lib/workos/types/pipe_connected_account_state.rb +13 -0
- data/lib/workos/types/{radar_action.rb → radar_list_action.rb} +1 -1
- data/lib/workos/types/radar_list_type.rb +18 -0
- data/lib/workos/types/radar_standalone_assess_request_action.rb +1 -7
- data/lib/workos/types/radar_standalone_response_blocklist_type.rb +1 -10
- data/lib/workos/types/radar_standalone_response_control.rb +1 -3
- data/lib/workos/types/user_management_authentication_screen_hint.rb +1 -5
- data/{rbi/workos/types/request_options.rbi → lib/workos/types/vault_order.rb} +4 -3
- data/lib/workos/types/webhook_endpoint_status.rb +1 -5
- data/lib/workos/user_management/action_authentication_denied.rb +6 -6
- data/lib/workos/user_management/action_user_registration_denied.rb +6 -6
- data/lib/workos/user_management/authentication_email_verification_failed.rb +5 -5
- data/lib/workos/user_management/authentication_email_verification_succeeded.rb +5 -5
- data/lib/workos/user_management/authentication_magic_auth_failed.rb +5 -5
- data/lib/workos/user_management/authentication_magic_auth_succeeded.rb +5 -5
- data/lib/workos/user_management/authentication_mfa_failed.rb +5 -5
- data/lib/workos/user_management/authentication_mfa_succeeded.rb +5 -5
- data/lib/workos/user_management/authentication_oauth_failed.rb +5 -5
- data/lib/workos/user_management/authentication_oauth_succeeded.rb +5 -5
- data/lib/workos/user_management/authentication_passkey_failed.rb +5 -5
- data/lib/workos/user_management/authentication_passkey_succeeded.rb +5 -5
- data/lib/workos/user_management/authentication_password_failed.rb +5 -5
- data/lib/workos/user_management/authentication_password_succeeded.rb +5 -5
- data/lib/workos/user_management/authentication_radar_risk_detected.rb +5 -5
- data/lib/workos/user_management/authentication_sso_failed.rb +5 -5
- data/lib/workos/user_management/authentication_sso_started.rb +5 -5
- data/lib/workos/user_management/authentication_sso_succeeded.rb +5 -5
- data/lib/workos/user_management/authentication_sso_timed_out.rb +5 -5
- data/lib/workos/user_management/create_user_api_key.rb +5 -2
- data/lib/workos/user_management/email_verification_created.rb +5 -5
- data/lib/workos/user_management/invitation_accepted.rb +5 -5
- data/lib/workos/user_management/invitation_created.rb +5 -5
- data/lib/workos/user_management/invitation_resent.rb +5 -5
- data/lib/workos/user_management/invitation_revoked.rb +5 -5
- data/lib/workos/user_management/magic_auth_created.rb +5 -5
- data/lib/workos/user_management/password_reset_created.rb +5 -5
- data/lib/workos/user_management/password_reset_succeeded.rb +5 -5
- data/lib/workos/user_management/session_created.rb +5 -5
- data/lib/workos/user_management/session_revoked.rb +5 -5
- data/lib/workos/user_management/user_api_key.rb +3 -0
- data/lib/workos/user_management/user_api_key_with_value.rb +3 -0
- data/lib/workos/user_management/user_created.rb +5 -5
- data/lib/workos/user_management/user_deleted.rb +5 -5
- data/lib/workos/user_management/user_updated.rb +5 -5
- data/lib/workos/user_management.rb +11 -214
- data/lib/workos/vault/actor.rb +22 -0
- data/lib/workos/vault/create_data_key_request.rb +18 -0
- data/lib/workos/vault/create_data_key_response.rb +28 -0
- data/lib/workos/vault/create_object_request.rb +25 -0
- data/lib/workos/vault/decrypt_request.rb +18 -0
- data/lib/workos/vault/decrypt_response.rb +22 -0
- data/lib/workos/vault/delete_object_response.rb +22 -0
- data/lib/workos/vault/object.rb +28 -0
- data/lib/workos/vault/object_metadata.rb +37 -0
- data/lib/workos/{audit_logs/audit_log_action_json.rb → vault/object_summary.rb} +4 -10
- data/lib/workos/vault/object_version.rb +31 -0
- data/lib/workos/vault/object_without_value.rb +25 -0
- data/lib/workos/vault/rekey_request.rb +22 -0
- data/lib/workos/vault/update_object_request.rb +22 -0
- data/lib/workos/vault/vault_byok_key_deleted.rb +5 -5
- data/lib/workos/vault/vault_byok_key_verification_completed.rb +5 -5
- data/lib/workos/vault/vault_data_created.rb +5 -5
- data/lib/workos/vault/vault_data_deleted.rb +5 -5
- data/lib/workos/vault/vault_data_read.rb +5 -5
- data/lib/workos/vault/vault_data_updated.rb +5 -5
- data/lib/workos/vault/vault_dek_decrypted.rb +5 -5
- data/lib/workos/vault/vault_dek_read.rb +5 -5
- data/lib/workos/vault/vault_kek_created.rb +5 -5
- data/lib/workos/vault/vault_metadata_read.rb +5 -5
- data/lib/workos/vault/vault_names_listed.rb +5 -5
- data/lib/workos/vault/version_list_response.rb +22 -0
- data/lib/workos/vault.rb +273 -139
- data/lib/workos/version.rb +1 -1
- data/lib/workos/webhooks/webhook_endpoint.rb +2 -7
- data/lib/workos/webhooks.rb +8 -9
- data/lib/workos.rb +1 -0
- data/rbi/workos/action_authentication_denied.rbi +10 -10
- data/rbi/workos/action_user_registration_denied.rbi +10 -10
- data/rbi/workos/actor.rbi +30 -0
- data/rbi/workos/api_key.rbi +6 -0
- data/rbi/workos/api_key_created.rbi +6 -6
- data/rbi/workos/api_key_created_data.rbi +6 -0
- data/rbi/workos/api_key_revoked.rbi +6 -6
- data/rbi/workos/api_key_revoked_data.rbi +6 -0
- data/rbi/workos/api_keys.rbi +2 -1
- data/rbi/workos/audit_log_action.rbi +1 -0
- data/rbi/workos/audit_log_export.rbi +1 -0
- data/rbi/workos/audit_log_schema.rbi +18 -0
- data/rbi/workos/{audit_log_schema_json_actor.rbi → audit_log_schema_actor_input.rbi} +1 -1
- data/rbi/workos/audit_log_schema_input.rbi +36 -0
- data/rbi/workos/{audit_log_schema_json_target.rbi → audit_log_schema_target_input.rbi} +1 -1
- data/rbi/workos/audit_logs.rbi +9 -9
- data/rbi/workos/audit_logs_retention.rbi +1 -0
- data/rbi/workos/authentication_email_verification_failed.rbi +6 -6
- data/rbi/workos/authentication_email_verification_succeeded.rbi +6 -6
- data/rbi/workos/authentication_magic_auth_failed.rbi +6 -6
- data/rbi/workos/authentication_magic_auth_succeeded.rbi +6 -6
- data/rbi/workos/authentication_mfa_failed.rbi +6 -6
- data/rbi/workos/authentication_mfa_succeeded.rbi +6 -6
- data/rbi/workos/authentication_oauth_failed.rbi +6 -6
- data/rbi/workos/authentication_oauth_succeeded.rbi +6 -6
- data/rbi/workos/authentication_passkey_failed.rbi +6 -6
- data/rbi/workos/authentication_passkey_succeeded.rbi +6 -6
- data/rbi/workos/authentication_password_failed.rbi +6 -6
- data/rbi/workos/authentication_password_succeeded.rbi +6 -6
- data/rbi/workos/authentication_radar_risk_detected.rbi +6 -6
- data/rbi/workos/authentication_sso_failed.rbi +6 -6
- data/rbi/workos/authentication_sso_started.rbi +6 -6
- data/rbi/workos/authentication_sso_succeeded.rbi +6 -6
- data/rbi/workos/authentication_sso_timed_out.rbi +6 -6
- data/rbi/workos/authorization.rbi +9 -5
- data/rbi/workos/client.rbi +6 -3
- data/rbi/workos/connect_application.rbi +0 -12
- data/rbi/workos/{webhook_endpoint_json.rbi → connect_application_m2m.rbi} +23 -11
- data/rbi/workos/connect_application_oauth.rbi +102 -0
- data/rbi/workos/connect_application_oauth_redirect_uris.rbi +30 -0
- data/rbi/workos/connection_activated.rbi +6 -6
- data/rbi/workos/connection_deactivated.rbi +6 -6
- data/rbi/workos/connection_deleted.rbi +6 -6
- data/rbi/workos/connection_saml_certificate_renewal_required.rbi +6 -6
- data/rbi/workos/connection_saml_certificate_renewed.rbi +6 -6
- data/rbi/workos/{audit_logs_retention_json.rbi → create_data_key_request.rbi} +5 -5
- data/rbi/workos/create_data_key_response.rbi +42 -0
- data/rbi/workos/create_object_request.rbi +36 -0
- data/rbi/workos/create_organization_api_key.rbi +6 -0
- data/rbi/workos/create_user_api_key.rbi +6 -0
- data/rbi/workos/decrypt_request.rbi +24 -0
- data/rbi/workos/decrypt_response.rbi +30 -0
- data/rbi/workos/delete_object_response.rbi +30 -0
- data/rbi/workos/dsync_activated.rbi +6 -6
- data/rbi/workos/dsync_deactivated.rbi +6 -6
- data/rbi/workos/dsync_deleted.rbi +6 -6
- data/rbi/workos/dsync_group_created.rbi +6 -6
- data/rbi/workos/dsync_group_deleted.rbi +6 -6
- data/rbi/workos/dsync_group_updated.rbi +6 -6
- data/rbi/workos/dsync_group_user_added.rbi +6 -6
- data/rbi/workos/dsync_group_user_removed.rbi +6 -6
- data/rbi/workos/dsync_user_created.rbi +6 -6
- data/rbi/workos/dsync_user_deleted.rbi +6 -6
- data/rbi/workos/dsync_user_updated.rbi +6 -6
- data/rbi/workos/email_verification_created.rbi +6 -6
- data/rbi/workos/error_response.rbi +24 -0
- data/rbi/workos/flag_created.rbi +6 -6
- data/rbi/workos/flag_deleted.rbi +6 -6
- data/rbi/workos/flag_rule_updated.rbi +6 -6
- data/rbi/workos/flag_updated.rbi +6 -6
- data/rbi/workos/group_created.rbi +6 -6
- data/rbi/workos/group_deleted.rbi +6 -6
- data/rbi/workos/group_member_added.rbi +6 -6
- data/rbi/workos/group_member_removed.rbi +6 -6
- data/rbi/workos/group_updated.rbi +6 -6
- data/rbi/workos/invitation_accepted.rbi +6 -6
- data/rbi/workos/invitation_created.rbi +6 -6
- data/rbi/workos/invitation_resent.rbi +6 -6
- data/rbi/workos/invitation_revoked.rbi +6 -6
- data/rbi/workos/magic_auth_created.rbi +6 -6
- data/rbi/workos/object.rbi +42 -0
- data/rbi/workos/object_metadata.rbi +60 -0
- data/rbi/workos/object_summary.rbi +36 -0
- data/rbi/workos/{audit_log_action_json.rbi → object_version.rbi} +17 -17
- data/rbi/workos/object_without_value.rbi +36 -0
- data/rbi/workos/organization_api_key.rbi +6 -0
- data/rbi/workos/organization_api_key_with_value.rbi +6 -0
- data/rbi/workos/organization_created.rbi +6 -6
- data/rbi/workos/organization_deleted.rbi +6 -6
- data/rbi/workos/organization_domain_created.rbi +6 -6
- data/rbi/workos/organization_domain_deleted.rbi +6 -6
- data/rbi/workos/organization_domain_updated.rbi +6 -6
- data/rbi/workos/organization_domain_verification_failed.rbi +6 -6
- data/rbi/workos/organization_domain_verified.rbi +6 -6
- data/rbi/workos/organization_membership_created.rbi +6 -6
- data/rbi/workos/organization_membership_deleted.rbi +6 -6
- data/rbi/workos/organization_membership_service.rbi +114 -0
- data/rbi/workos/organization_membership_updated.rbi +6 -6
- data/rbi/workos/organization_role_created.rbi +6 -6
- data/rbi/workos/organization_role_deleted.rbi +6 -6
- data/rbi/workos/organization_role_updated.rbi +6 -6
- data/rbi/workos/organization_updated.rbi +6 -6
- data/rbi/workos/password_reset_created.rbi +6 -6
- data/rbi/workos/password_reset_succeeded.rbi +6 -6
- data/rbi/workos/permission_created.rbi +6 -6
- data/rbi/workos/permission_deleted.rbi +6 -6
- data/rbi/workos/permission_updated.rbi +6 -6
- data/rbi/workos/pipe_connected_account.rbi +78 -0
- data/rbi/workos/{audit_log_export_json.rbi → pipes_connected_account_connected.rbi} +11 -11
- data/rbi/workos/pipes_connected_account_disconnected.rbi +54 -0
- data/rbi/workos/pipes_connected_account_reauthorization_needed.rbi +54 -0
- data/rbi/workos/radar.rbi +1 -3
- data/rbi/workos/radar_standalone_assess_request.rbi +0 -12
- data/rbi/workos/rekey_request.rbi +30 -0
- data/rbi/workos/role_created.rbi +6 -6
- data/rbi/workos/role_deleted.rbi +6 -6
- data/rbi/workos/role_updated.rbi +6 -6
- data/rbi/workos/session_created.rbi +6 -6
- data/rbi/workos/session_manager.rbi +1 -1
- data/rbi/workos/session_revoked.rbi +6 -6
- data/rbi/workos/update_object_request.rbi +30 -0
- data/rbi/workos/user_api_key.rbi +6 -0
- data/rbi/workos/user_api_key_with_value.rbi +6 -0
- data/rbi/workos/user_created.rbi +6 -6
- data/rbi/workos/user_deleted.rbi +6 -6
- data/rbi/workos/user_management.rbi +2 -90
- data/rbi/workos/user_updated.rbi +6 -6
- data/rbi/workos/vault.rbi +70 -95
- data/rbi/workos/vault_byok_key_deleted.rbi +6 -6
- data/rbi/workos/vault_byok_key_verification_completed.rbi +6 -6
- data/rbi/workos/vault_data_created.rbi +6 -6
- data/rbi/workos/vault_data_deleted.rbi +6 -6
- data/rbi/workos/vault_data_read.rbi +6 -6
- data/rbi/workos/vault_data_updated.rbi +6 -6
- data/rbi/workos/vault_dek_decrypted.rbi +6 -6
- data/rbi/workos/vault_dek_read.rbi +6 -6
- data/rbi/workos/vault_kek_created.rbi +6 -6
- data/rbi/workos/vault_metadata_read.rbi +6 -6
- data/rbi/workos/vault_names_listed.rbi +6 -6
- data/rbi/workos/waitlist_user_approved.rbi +6 -6
- data/rbi/workos/waitlist_user_created.rbi +6 -6
- data/rbi/workos/waitlist_user_denied.rbi +6 -6
- data/rbi/workos/webhook_endpoint.rbi +1 -0
- data/rbi/workos/webhooks.rbi +2 -2
- data/renovate.json +1 -1
- data/test/workos/test_actions.rb +9 -0
- data/test/workos/test_base_client.rb +44 -0
- data/test/workos/test_encryptors_aes_gcm.rb +16 -1
- data/test/workos/test_model_round_trip.rb +577 -212
- data/test/workos/test_organization_membership_service.rb +107 -0
- data/test/workos/test_session.rb +43 -4
- data/test/workos/test_user_management.rb +0 -74
- data/test/workos/test_vault.rb +91 -87
- data/test/workos/test_webhook_verify.rb +11 -0
- metadata +65 -41
- data/lib/workos/audit_logs/audit_log_schema_json.rb +0 -34
- data/lib/workos/organizations/audit_logs_retention_json.rb +0 -18
- data/lib/workos/types/audit_log_export_json_state.rb +0 -14
- data/lib/workos/types/webhook_endpoint_json_status.rb +0 -9
- data/lib/workos/user_management_organization_membership_groups.rb +0 -60
- data/lib/workos/webhooks/webhook_endpoint_json.rb +0 -40
- data/rbi/workos/actions.rbi +0 -48
- data/rbi/workos/audit_log_schema_json.rbi +0 -54
- data/rbi/workos/base_client.rbi +0 -132
- data/rbi/workos/configuration.rbi +0 -68
- data/rbi/workos/encryptors/aes_gcm.rbi +0 -19
- data/rbi/workos/errors.rbi +0 -43
- data/rbi/workos/hash_provider.rbi +0 -18
- data/rbi/workos/passwordless.rbi +0 -47
- data/rbi/workos/public_client.rbi +0 -12
- data/rbi/workos/session.rbi +0 -43
- data/rbi/workos/types/api_response.rbi +0 -29
- data/rbi/workos/types/base_model.rbi +0 -22
- data/rbi/workos/types/list_struct.rbi +0 -89
- data/rbi/workos/user_management_organization_membership_groups.rbi +0 -25
- data/rbi/workos/util.rbi +0 -12
- data/test/workos/test_user_management_organization_membership_groups.rb +0 -33
- /data/lib/workos/{user_management → organization_membership}/create_user_organization_membership.rb +0 -0
- /data/lib/workos/{user_management → organization_membership}/organization_membership.rb +0 -0
- /data/lib/workos/{user_management → organization_membership}/update_user_organization_membership.rb +0 -0
- /data/lib/workos/{user_management → organization_membership}/user_organization_membership.rb +0 -0
|
@@ -9,6 +9,12 @@ module WorkOS
|
|
|
9
9
|
sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
|
|
10
10
|
def initialize(json); end
|
|
11
11
|
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
def object; end
|
|
14
|
+
|
|
15
|
+
sig { params(value: String).returns(String) }
|
|
16
|
+
def object=(value); end
|
|
17
|
+
|
|
12
18
|
sig { returns(String) }
|
|
13
19
|
def id; end
|
|
14
20
|
|
|
@@ -39,12 +45,6 @@ module WorkOS
|
|
|
39
45
|
sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
|
|
40
46
|
def context=(value); end
|
|
41
47
|
|
|
42
|
-
sig { returns(String) }
|
|
43
|
-
def object; end
|
|
44
|
-
|
|
45
|
-
sig { params(value: String).returns(String) }
|
|
46
|
-
def object=(value); end
|
|
47
|
-
|
|
48
48
|
sig { returns(T::Hash[Symbol, T.untyped]) }
|
|
49
49
|
def to_h; end
|
|
50
50
|
|
|
@@ -9,6 +9,12 @@ module WorkOS
|
|
|
9
9
|
sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
|
|
10
10
|
def initialize(json); end
|
|
11
11
|
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
def object; end
|
|
14
|
+
|
|
15
|
+
sig { params(value: String).returns(String) }
|
|
16
|
+
def object=(value); end
|
|
17
|
+
|
|
12
18
|
sig { returns(String) }
|
|
13
19
|
def id; end
|
|
14
20
|
|
|
@@ -39,12 +45,6 @@ module WorkOS
|
|
|
39
45
|
sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
|
|
40
46
|
def context=(value); end
|
|
41
47
|
|
|
42
|
-
sig { returns(String) }
|
|
43
|
-
def object; end
|
|
44
|
-
|
|
45
|
-
sig { params(value: String).returns(String) }
|
|
46
|
-
def object=(value); end
|
|
47
|
-
|
|
48
48
|
sig { returns(T::Hash[Symbol, T.untyped]) }
|
|
49
49
|
def to_h; end
|
|
50
50
|
|
|
@@ -9,6 +9,12 @@ module WorkOS
|
|
|
9
9
|
sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
|
|
10
10
|
def initialize(json); end
|
|
11
11
|
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
def object; end
|
|
14
|
+
|
|
15
|
+
sig { params(value: String).returns(String) }
|
|
16
|
+
def object=(value); end
|
|
17
|
+
|
|
12
18
|
sig { returns(String) }
|
|
13
19
|
def id; end
|
|
14
20
|
|
|
@@ -39,12 +45,6 @@ module WorkOS
|
|
|
39
45
|
sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
|
|
40
46
|
def context=(value); end
|
|
41
47
|
|
|
42
|
-
sig { returns(String) }
|
|
43
|
-
def object; end
|
|
44
|
-
|
|
45
|
-
sig { params(value: String).returns(String) }
|
|
46
|
-
def object=(value); end
|
|
47
|
-
|
|
48
48
|
sig { returns(T::Hash[Symbol, T.untyped]) }
|
|
49
49
|
def to_h; end
|
|
50
50
|
|
|
@@ -9,6 +9,12 @@ module WorkOS
|
|
|
9
9
|
sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
|
|
10
10
|
def initialize(json); end
|
|
11
11
|
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
def object; end
|
|
14
|
+
|
|
15
|
+
sig { params(value: String).returns(String) }
|
|
16
|
+
def object=(value); end
|
|
17
|
+
|
|
12
18
|
sig { returns(String) }
|
|
13
19
|
def id; end
|
|
14
20
|
|
|
@@ -39,12 +45,6 @@ module WorkOS
|
|
|
39
45
|
sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
|
|
40
46
|
def context=(value); end
|
|
41
47
|
|
|
42
|
-
sig { returns(String) }
|
|
43
|
-
def object; end
|
|
44
|
-
|
|
45
|
-
sig { params(value: String).returns(String) }
|
|
46
|
-
def object=(value); end
|
|
47
|
-
|
|
48
48
|
sig { returns(T::Hash[Symbol, T.untyped]) }
|
|
49
49
|
def to_h; end
|
|
50
50
|
|
|
@@ -9,6 +9,12 @@ module WorkOS
|
|
|
9
9
|
sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
|
|
10
10
|
def initialize(json); end
|
|
11
11
|
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
def object; end
|
|
14
|
+
|
|
15
|
+
sig { params(value: String).returns(String) }
|
|
16
|
+
def object=(value); end
|
|
17
|
+
|
|
12
18
|
sig { returns(String) }
|
|
13
19
|
def id; end
|
|
14
20
|
|
|
@@ -39,12 +45,6 @@ module WorkOS
|
|
|
39
45
|
sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
|
|
40
46
|
def context=(value); end
|
|
41
47
|
|
|
42
|
-
sig { returns(String) }
|
|
43
|
-
def object; end
|
|
44
|
-
|
|
45
|
-
sig { params(value: String).returns(String) }
|
|
46
|
-
def object=(value); end
|
|
47
|
-
|
|
48
48
|
sig { returns(T::Hash[Symbol, T.untyped]) }
|
|
49
49
|
def to_h; end
|
|
50
50
|
|
|
@@ -9,6 +9,12 @@ module WorkOS
|
|
|
9
9
|
sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
|
|
10
10
|
def initialize(json); end
|
|
11
11
|
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
def object; end
|
|
14
|
+
|
|
15
|
+
sig { params(value: String).returns(String) }
|
|
16
|
+
def object=(value); end
|
|
17
|
+
|
|
12
18
|
sig { returns(String) }
|
|
13
19
|
def id; end
|
|
14
20
|
|
|
@@ -39,12 +45,6 @@ module WorkOS
|
|
|
39
45
|
sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
|
|
40
46
|
def context=(value); end
|
|
41
47
|
|
|
42
|
-
sig { returns(String) }
|
|
43
|
-
def object; end
|
|
44
|
-
|
|
45
|
-
sig { params(value: String).returns(String) }
|
|
46
|
-
def object=(value); end
|
|
47
|
-
|
|
48
48
|
sig { returns(T::Hash[Symbol, T.untyped]) }
|
|
49
49
|
def to_h; end
|
|
50
50
|
|
|
@@ -9,6 +9,12 @@ module WorkOS
|
|
|
9
9
|
sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
|
|
10
10
|
def initialize(json); end
|
|
11
11
|
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
def object; end
|
|
14
|
+
|
|
15
|
+
sig { params(value: String).returns(String) }
|
|
16
|
+
def object=(value); end
|
|
17
|
+
|
|
12
18
|
sig { returns(String) }
|
|
13
19
|
def id; end
|
|
14
20
|
|
|
@@ -39,12 +45,6 @@ module WorkOS
|
|
|
39
45
|
sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
|
|
40
46
|
def context=(value); end
|
|
41
47
|
|
|
42
|
-
sig { returns(String) }
|
|
43
|
-
def object; end
|
|
44
|
-
|
|
45
|
-
sig { params(value: String).returns(String) }
|
|
46
|
-
def object=(value); end
|
|
47
|
-
|
|
48
48
|
sig { returns(T::Hash[Symbol, T.untyped]) }
|
|
49
49
|
def to_h; end
|
|
50
50
|
|
|
@@ -9,6 +9,12 @@ module WorkOS
|
|
|
9
9
|
sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
|
|
10
10
|
def initialize(json); end
|
|
11
11
|
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
def object; end
|
|
14
|
+
|
|
15
|
+
sig { params(value: String).returns(String) }
|
|
16
|
+
def object=(value); end
|
|
17
|
+
|
|
12
18
|
sig { returns(String) }
|
|
13
19
|
def id; end
|
|
14
20
|
|
|
@@ -39,12 +45,6 @@ module WorkOS
|
|
|
39
45
|
sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
|
|
40
46
|
def context=(value); end
|
|
41
47
|
|
|
42
|
-
sig { returns(String) }
|
|
43
|
-
def object; end
|
|
44
|
-
|
|
45
|
-
sig { params(value: String).returns(String) }
|
|
46
|
-
def object=(value); end
|
|
47
|
-
|
|
48
48
|
sig { returns(T::Hash[Symbol, T.untyped]) }
|
|
49
49
|
def to_h; end
|
|
50
50
|
|
|
@@ -9,6 +9,12 @@ module WorkOS
|
|
|
9
9
|
sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
|
|
10
10
|
def initialize(json); end
|
|
11
11
|
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
def object; end
|
|
14
|
+
|
|
15
|
+
sig { params(value: String).returns(String) }
|
|
16
|
+
def object=(value); end
|
|
17
|
+
|
|
12
18
|
sig { returns(String) }
|
|
13
19
|
def id; end
|
|
14
20
|
|
|
@@ -39,12 +45,6 @@ module WorkOS
|
|
|
39
45
|
sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
|
|
40
46
|
def context=(value); end
|
|
41
47
|
|
|
42
|
-
sig { returns(String) }
|
|
43
|
-
def object; end
|
|
44
|
-
|
|
45
|
-
sig { params(value: String).returns(String) }
|
|
46
|
-
def object=(value); end
|
|
47
|
-
|
|
48
48
|
sig { returns(T::Hash[Symbol, T.untyped]) }
|
|
49
49
|
def to_h; end
|
|
50
50
|
|
|
@@ -9,6 +9,12 @@ module WorkOS
|
|
|
9
9
|
sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
|
|
10
10
|
def initialize(json); end
|
|
11
11
|
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
def object; end
|
|
14
|
+
|
|
15
|
+
sig { params(value: String).returns(String) }
|
|
16
|
+
def object=(value); end
|
|
17
|
+
|
|
12
18
|
sig { returns(String) }
|
|
13
19
|
def id; end
|
|
14
20
|
|
|
@@ -39,12 +45,6 @@ module WorkOS
|
|
|
39
45
|
sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
|
|
40
46
|
def context=(value); end
|
|
41
47
|
|
|
42
|
-
sig { returns(String) }
|
|
43
|
-
def object; end
|
|
44
|
-
|
|
45
|
-
sig { params(value: String).returns(String) }
|
|
46
|
-
def object=(value); end
|
|
47
|
-
|
|
48
48
|
sig { returns(T::Hash[Symbol, T.untyped]) }
|
|
49
49
|
def to_h; end
|
|
50
50
|
|
|
@@ -9,6 +9,12 @@ module WorkOS
|
|
|
9
9
|
sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
|
|
10
10
|
def initialize(json); end
|
|
11
11
|
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
def object; end
|
|
14
|
+
|
|
15
|
+
sig { params(value: String).returns(String) }
|
|
16
|
+
def object=(value); end
|
|
17
|
+
|
|
12
18
|
sig { returns(String) }
|
|
13
19
|
def id; end
|
|
14
20
|
|
|
@@ -39,12 +45,6 @@ module WorkOS
|
|
|
39
45
|
sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
|
|
40
46
|
def context=(value); end
|
|
41
47
|
|
|
42
|
-
sig { returns(String) }
|
|
43
|
-
def object; end
|
|
44
|
-
|
|
45
|
-
sig { params(value: String).returns(String) }
|
|
46
|
-
def object=(value); end
|
|
47
|
-
|
|
48
48
|
sig { returns(T::Hash[Symbol, T.untyped]) }
|
|
49
49
|
def to_h; end
|
|
50
50
|
|
data/rbi/workos/webhooks.rbi
CHANGED
|
@@ -25,7 +25,7 @@ module WorkOS
|
|
|
25
25
|
endpoint_url: String,
|
|
26
26
|
events: T::Array[String],
|
|
27
27
|
request_options: T::Hash[Symbol, T.untyped]
|
|
28
|
-
).returns(WorkOS::
|
|
28
|
+
).returns(WorkOS::WebhookEndpoint)
|
|
29
29
|
end
|
|
30
30
|
def create_webhook_endpoint(endpoint_url:, events:, request_options:); end
|
|
31
31
|
|
|
@@ -36,7 +36,7 @@ module WorkOS
|
|
|
36
36
|
status: T.nilable(String),
|
|
37
37
|
events: T.nilable(T::Array[String]),
|
|
38
38
|
request_options: T::Hash[Symbol, T.untyped]
|
|
39
|
-
).returns(WorkOS::
|
|
39
|
+
).returns(WorkOS::WebhookEndpoint)
|
|
40
40
|
end
|
|
41
41
|
def update_webhook_endpoint(id:, endpoint_url:, status:, events:, request_options:); end
|
|
42
42
|
|
data/renovate.json
CHANGED
data/test/workos/test_actions.rb
CHANGED
|
@@ -49,6 +49,15 @@ class ActionsTest < Minitest::Test
|
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
51
|
|
|
52
|
+
def test_verify_header_raises_on_future_timestamp
|
|
53
|
+
payload = '{"x":1}'
|
|
54
|
+
future_ts = now_ms + 60_000 # 60s ahead, beyond default 30s tolerance
|
|
55
|
+
sig = OpenSSL::HMAC.hexdigest("SHA256", SECRET, "#{future_ts}.#{payload}")
|
|
56
|
+
assert_raises(WorkOS::SignatureVerificationError) do
|
|
57
|
+
@actions.verify_header(payload: payload, sig_header: "t=#{future_ts}, v1=#{sig}", secret: SECRET)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
52
61
|
def test_sign_response_authentication_allow
|
|
53
62
|
resp = @actions.sign_response(action_type: "authentication", verdict: "Allow", secret: SECRET)
|
|
54
63
|
assert_equal "authentication_action_response", resp["object"]
|
|
@@ -170,4 +170,48 @@ class BaseClientTest < Minitest::Test
|
|
|
170
170
|
assert evict.finished
|
|
171
171
|
refute keep.finished
|
|
172
172
|
end
|
|
173
|
+
|
|
174
|
+
def test_redact_path_strips_invitation_token_segment
|
|
175
|
+
redacted = @client.send(:redact_path, "/user_management/invitations/by_token/invtoken_secret123")
|
|
176
|
+
assert_equal "/user_management/invitations/by_token/[REDACTED]", redacted
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
def test_redact_path_strips_magic_auth_token_segment
|
|
180
|
+
redacted = @client.send(:redact_path, "/user_management/magic_auth/magic_secret/extra")
|
|
181
|
+
assert_equal "/user_management/magic_auth/[REDACTED]/[REDACTED]", redacted
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
def test_redact_path_preserves_non_token_paths
|
|
185
|
+
assert_equal "/organizations/org_123", @client.send(:redact_path, "/organizations/org_123")
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
def test_redact_path_preserves_query_string
|
|
189
|
+
redacted = @client.send(:redact_path, "/user_management/invitations/by_token/secret?foo=bar")
|
|
190
|
+
assert_equal "/user_management/invitations/by_token/[REDACTED]?foo=bar", redacted
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
def test_redact_path_handles_nil_and_empty
|
|
194
|
+
assert_nil @client.send(:redact_path, nil)
|
|
195
|
+
assert_equal "", @client.send(:redact_path, "")
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
def test_redact_path_scrubs_sensitive_query_params
|
|
199
|
+
redacted = @client.send(:redact_path, "/user_management/sessions/logout?session_id=ses_abc123&return_to=https://app.example.com")
|
|
200
|
+
assert_equal "/user_management/sessions/logout?session_id=[REDACTED]&return_to=https://app.example.com", redacted
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
def test_redact_path_scrubs_authorize_code_query_param
|
|
204
|
+
redacted = @client.send(:redact_path, "/user_management/authorize?client_id=client_1&code=auth_code_secret&state=xyz")
|
|
205
|
+
assert_equal "/user_management/authorize?client_id=client_1&code=[REDACTED]&state=xyz", redacted
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
def test_redact_path_leaves_non_sensitive_query_params_untouched
|
|
209
|
+
redacted = @client.send(:redact_path, "/user_management/users?limit=10&order=desc")
|
|
210
|
+
assert_equal "/user_management/users?limit=10&order=desc", redacted
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
def test_redact_path_scrubs_query_alongside_path_segment_redaction
|
|
214
|
+
redacted = @client.send(:redact_path, "/user_management/magic_auth/magic_secret?token=qs_token")
|
|
215
|
+
assert_equal "/user_management/magic_auth/[REDACTED]?token=[REDACTED]", redacted
|
|
216
|
+
end
|
|
173
217
|
end
|
|
@@ -28,11 +28,26 @@ class EncryptorsAesGcmTest < Minitest::Test
|
|
|
28
28
|
|
|
29
29
|
def test_unseal_with_wrong_key_raises
|
|
30
30
|
sealed = @enc.seal({"x" => 1}, PASSWORD)
|
|
31
|
+
# Wrong key is the same length (>= 32 bytes) so the length guard doesn't
|
|
32
|
+
# short-circuit; we want to assert the underlying cipher rejection.
|
|
31
33
|
assert_raises(OpenSSL::Cipher::CipherError) do
|
|
32
|
-
@enc.unseal(sealed, "wrong-password")
|
|
34
|
+
@enc.unseal(sealed, "wrong-cookie-password-32-bytes--")
|
|
33
35
|
end
|
|
34
36
|
end
|
|
35
37
|
|
|
38
|
+
def test_unseal_rejects_short_key
|
|
39
|
+
sealed = @enc.seal({"x" => 1}, PASSWORD)
|
|
40
|
+
assert_raises(ArgumentError) do
|
|
41
|
+
@enc.unseal(sealed, "too-short")
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_seal_rejects_short_key
|
|
46
|
+
assert_raises(ArgumentError) { @enc.seal({"x" => 1}, "too-short") }
|
|
47
|
+
assert_raises(ArgumentError) { @enc.seal({"x" => 1}, nil) }
|
|
48
|
+
assert_raises(ArgumentError) { @enc.seal({"x" => 1}, "") }
|
|
49
|
+
end
|
|
50
|
+
|
|
36
51
|
def test_unseal_rejects_short_payload
|
|
37
52
|
assert_raises(ArgumentError) do
|
|
38
53
|
@enc.unseal(Base64.strict_encode64("short"), PASSWORD)
|