auth0 6.4.0 → 6.5.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 (216) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +3 -3
  3. data/.fern/replay.lock +7 -1
  4. data/.version +1 -1
  5. data/CHANGELOG.md +9 -0
  6. data/examples/ruby-api/Gemfile.lock +1 -1
  7. data/lib/auth0/attack_protection/brute_force_protection/types/update_brute_force_settings_request_content.rb +2 -0
  8. data/lib/auth0/attack_protection/captcha_policies/client.rb +210 -0
  9. data/lib/auth0/attack_protection/captcha_policies/types/create_attack_protection_captcha_policy_request_content.rb +21 -0
  10. data/lib/auth0/attack_protection/captcha_policies/types/update_attack_protection_captcha_policy_request_content.rb +23 -0
  11. data/lib/auth0/attack_protection/client.rb +5 -0
  12. data/lib/auth0/client.rb +5 -0
  13. data/lib/auth0/client_grants/client.rb +72 -0
  14. data/lib/auth0/client_grants/types/search_client_grants_request_parameters.rb +23 -0
  15. data/lib/auth0/client_profiles/client.rb +233 -0
  16. data/lib/auth0/client_profiles/types/create_client_profile_request_content.rb +17 -0
  17. data/lib/auth0/client_profiles/types/list_client_profiles_request_parameters.rb +13 -0
  18. data/lib/auth0/client_profiles/types/update_client_profile_request_content.rb +19 -0
  19. data/lib/auth0/clients/client.rb +81 -0
  20. data/lib/auth0/clients/types/create_client_request_content.rb +2 -0
  21. data/lib/auth0/clients/types/search_clients_request_parameters.rb +23 -0
  22. data/lib/auth0/clients/types/update_client_request_content.rb +4 -0
  23. data/lib/auth0/email_templates/client.rb +14 -2
  24. data/lib/auth0/experimentation/experiments/client.rb +0 -46
  25. data/lib/auth0/experimentation/experiments/types/update_experiment_request_parameters.rb +2 -0
  26. data/lib/auth0/experimentation/feature_flags/client.rb +0 -45
  27. data/lib/auth0/experimentation/feature_flags/types/update_feature_flag_request_content.rb +2 -0
  28. data/lib/auth0/experimentation/segments/types/update_segment_request_content.rb +2 -0
  29. data/lib/auth0/internal/types/model.rb +15 -6
  30. data/lib/auth0/roles/client.rb +2 -1
  31. data/lib/auth0/tenants/settings/types/update_tenant_settings_request_content.rb +4 -0
  32. data/lib/auth0/types/{update_feature_flag_status_response_content.rb → attack_protection_captcha_policy.rb} +5 -4
  33. data/lib/auth0/types/attack_protection_captcha_policy_action.rb +24 -0
  34. data/lib/auth0/types/attack_protection_captcha_policy_action_input.rb +24 -0
  35. data/lib/auth0/types/attack_protection_captcha_policy_match.rb +12 -0
  36. data/lib/auth0/types/brute_force_protection_form_submission_mode_enum.rb +12 -0
  37. data/lib/auth0/types/captcha_active_provider_enum.rb +17 -0
  38. data/lib/auth0/types/captcha_policy_action_arkose.rb +16 -0
  39. data/lib/auth0/types/captcha_policy_action_arkose_input.rb +18 -0
  40. data/lib/auth0/types/captcha_policy_action_auth_challenge.rb +10 -0
  41. data/lib/auth0/types/captcha_policy_action_friendly_captcha.rb +10 -0
  42. data/lib/auth0/types/captcha_policy_action_friendly_captcha_input.rb +12 -0
  43. data/lib/auth0/types/captcha_policy_action_hcaptcha.rb +10 -0
  44. data/lib/auth0/types/captcha_policy_action_hcaptcha_input.rb +12 -0
  45. data/lib/auth0/types/captcha_policy_action_recaptcha_enterprise.rb +12 -0
  46. data/lib/auth0/types/captcha_policy_action_recaptcha_enterprise_input.rb +14 -0
  47. data/lib/auth0/types/captcha_policy_action_recaptcha_v2.rb +10 -0
  48. data/lib/auth0/types/captcha_policy_action_recaptcha_v2input.rb +12 -0
  49. data/lib/auth0/types/captcha_policy_action_simple_captcha.rb +8 -0
  50. data/lib/auth0/types/cimd_external_metadata_created_by_enum.rb +12 -0
  51. data/lib/auth0/types/client.rb +4 -0
  52. data/lib/auth0/types/client_anonymous_session_transfer_network_binding_enum.rb +13 -0
  53. data/lib/auth0/types/client_external_metadata_status_enum.rb +12 -0
  54. data/lib/auth0/types/client_grant_sort_field_enum.rb +12 -0
  55. data/lib/auth0/types/client_oidc_support_patch.rb +14 -0
  56. data/lib/auth0/types/client_profile.rb +21 -0
  57. data/lib/auth0/types/client_profile_apply_policy.rb +12 -0
  58. data/lib/auth0/types/client_profile_apply_policy_external_metadata_created_by_enum.rb +11 -0
  59. data/lib/auth0/types/client_profile_apply_policy_external_metadata_type_enum.rb +11 -0
  60. data/lib/auth0/types/client_profile_client_configuration.rb +18 -0
  61. data/lib/auth0/types/client_profile_client_configuration_organization_discovery_method_enum.rb +12 -0
  62. data/lib/auth0/types/client_profile_client_configuration_organization_discovery_methods.rb +10 -0
  63. data/lib/auth0/types/client_profile_client_configuration_organization_require_behavior.rb +10 -0
  64. data/lib/auth0/types/client_profile_client_configuration_organization_require_behavior_enum.rb +13 -0
  65. data/lib/auth0/types/client_profile_client_configuration_organization_usage.rb +10 -0
  66. data/lib/auth0/types/client_profile_client_configuration_organization_usage_enum.rb +13 -0
  67. data/lib/auth0/types/client_profile_client_configuration_refresh_token.rb +14 -0
  68. data/lib/auth0/types/client_profile_client_configuration_require_proof_of_possession.rb +10 -0
  69. data/lib/auth0/types/client_profile_description.rb +23 -0
  70. data/lib/auth0/types/client_profile_id.rb +23 -0
  71. data/lib/auth0/types/client_profile_name.rb +23 -0
  72. data/lib/auth0/types/client_profile_refresh_token_idle_token_lifetime.rb +10 -0
  73. data/lib/auth0/types/client_profile_refresh_token_leeway.rb +10 -0
  74. data/lib/auth0/types/client_profile_refresh_token_token_lifetime.rb +10 -0
  75. data/lib/auth0/types/client_search_response.rb +139 -0
  76. data/lib/auth0/types/client_sort_field_enum.rb +12 -0
  77. data/lib/auth0/types/connection_profile_provisioning.rb +2 -0
  78. data/lib/auth0/types/connection_profile_provisioning_google_workspace.rb +10 -0
  79. data/lib/auth0/types/connection_profile_provisioning_google_workspace_sync_users.rb +23 -0
  80. data/lib/auth0/types/connection_profile_strategy_overrides_provisioning.rb +2 -0
  81. data/lib/auth0/types/connection_response_common.rb +6 -6
  82. data/lib/auth0/types/connection_response_content_ad.rb +2 -2
  83. data/lib/auth0/types/connection_response_content_adfs.rb +2 -2
  84. data/lib/auth0/types/connection_response_content_amazon.rb +2 -2
  85. data/lib/auth0/types/connection_response_content_apple.rb +2 -2
  86. data/lib/auth0/types/connection_response_content_auth0.rb +2 -2
  87. data/lib/auth0/types/connection_response_content_auth0oidc.rb +2 -2
  88. data/lib/auth0/types/connection_response_content_azure_ad.rb +2 -2
  89. data/lib/auth0/types/connection_response_content_baidu.rb +2 -2
  90. data/lib/auth0/types/connection_response_content_bitbucket.rb +2 -2
  91. data/lib/auth0/types/connection_response_content_bitly.rb +2 -2
  92. data/lib/auth0/types/connection_response_content_box.rb +2 -2
  93. data/lib/auth0/types/connection_response_content_custom.rb +2 -2
  94. data/lib/auth0/types/connection_response_content_daccount.rb +2 -2
  95. data/lib/auth0/types/connection_response_content_dropbox.rb +2 -2
  96. data/lib/auth0/types/connection_response_content_dwolla.rb +2 -2
  97. data/lib/auth0/types/connection_response_content_email.rb +2 -2
  98. data/lib/auth0/types/connection_response_content_evernote.rb +2 -2
  99. data/lib/auth0/types/connection_response_content_evernote_sandbox.rb +2 -2
  100. data/lib/auth0/types/connection_response_content_exact.rb +2 -2
  101. data/lib/auth0/types/connection_response_content_facebook.rb +2 -2
  102. data/lib/auth0/types/connection_response_content_fitbit.rb +2 -2
  103. data/lib/auth0/types/connection_response_content_git_hub.rb +2 -2
  104. data/lib/auth0/types/connection_response_content_google_apps.rb +2 -2
  105. data/lib/auth0/types/connection_response_content_google_o_auth2.rb +2 -2
  106. data/lib/auth0/types/connection_response_content_instagram.rb +2 -2
  107. data/lib/auth0/types/connection_response_content_ip.rb +2 -2
  108. data/lib/auth0/types/connection_response_content_line.rb +2 -2
  109. data/lib/auth0/types/connection_response_content_linkedin.rb +2 -2
  110. data/lib/auth0/types/connection_response_content_o_auth1.rb +2 -2
  111. data/lib/auth0/types/connection_response_content_o_auth2.rb +2 -2
  112. data/lib/auth0/types/connection_response_content_office365.rb +2 -2
  113. data/lib/auth0/types/connection_response_content_oidc.rb +2 -2
  114. data/lib/auth0/types/connection_response_content_okta.rb +2 -2
  115. data/lib/auth0/types/connection_response_content_paypal.rb +2 -2
  116. data/lib/auth0/types/connection_response_content_paypal_sandbox.rb +2 -2
  117. data/lib/auth0/types/connection_response_content_ping_federate.rb +2 -2
  118. data/lib/auth0/types/connection_response_content_planning_center.rb +2 -2
  119. data/lib/auth0/types/connection_response_content_salesforce.rb +2 -2
  120. data/lib/auth0/types/connection_response_content_salesforce_community.rb +2 -2
  121. data/lib/auth0/types/connection_response_content_salesforce_sandbox.rb +2 -2
  122. data/lib/auth0/types/connection_response_content_saml.rb +2 -2
  123. data/lib/auth0/types/connection_response_content_sharepoint.rb +2 -2
  124. data/lib/auth0/types/connection_response_content_shop.rb +2 -2
  125. data/lib/auth0/types/connection_response_content_shopify.rb +2 -2
  126. data/lib/auth0/types/connection_response_content_sms.rb +2 -2
  127. data/lib/auth0/types/connection_response_content_soundcloud.rb +2 -2
  128. data/lib/auth0/types/connection_response_content_thirty_seven_signals.rb +2 -2
  129. data/lib/auth0/types/connection_response_content_twitter.rb +2 -2
  130. data/lib/auth0/types/connection_response_content_untappd.rb +2 -2
  131. data/lib/auth0/types/connection_response_content_vkontakte.rb +2 -2
  132. data/lib/auth0/types/connection_response_content_weibo.rb +2 -2
  133. data/lib/auth0/types/connection_response_content_windows_live.rb +2 -2
  134. data/lib/auth0/types/connection_response_content_wordpress.rb +2 -2
  135. data/lib/auth0/types/connection_response_content_yahoo.rb +2 -2
  136. data/lib/auth0/types/connection_response_content_yandex.rb +2 -2
  137. data/lib/auth0/types/create_client_response_content.rb +4 -0
  138. data/lib/auth0/types/create_segment_response_content.rb +2 -0
  139. data/lib/auth0/types/enabled_features_enum.rb +1 -0
  140. data/lib/auth0/types/event_stream_cloud_event_connection_created_cloud_event.rb +1 -1
  141. data/lib/auth0/types/event_stream_cloud_event_connection_deleted_cloud_event.rb +1 -1
  142. data/lib/auth0/types/event_stream_cloud_event_connection_updated_cloud_event.rb +1 -1
  143. data/lib/auth0/types/event_stream_cloud_event_group_created_cloud_event.rb +1 -1
  144. data/lib/auth0/types/event_stream_cloud_event_group_deleted_cloud_event.rb +1 -1
  145. data/lib/auth0/types/event_stream_cloud_event_group_member_added_cloud_event.rb +1 -1
  146. data/lib/auth0/types/event_stream_cloud_event_group_member_deleted_cloud_event.rb +1 -1
  147. data/lib/auth0/types/event_stream_cloud_event_group_role_assigned_cloud_event.rb +1 -1
  148. data/lib/auth0/types/event_stream_cloud_event_group_role_deleted_cloud_event.rb +1 -1
  149. data/lib/auth0/types/event_stream_cloud_event_group_updated_cloud_event.rb +1 -1
  150. data/lib/auth0/types/event_stream_cloud_event_org_connection_added_cloud_event.rb +1 -1
  151. data/lib/auth0/types/event_stream_cloud_event_org_connection_added_object.rb +2 -0
  152. data/lib/auth0/types/event_stream_cloud_event_org_connection_added_object_organization_member_access_level.rb +18 -0
  153. data/lib/auth0/types/event_stream_cloud_event_org_connection_added_object_organization_member_access_level0enum.rb +11 -0
  154. data/lib/auth0/types/event_stream_cloud_event_org_connection_added_object_organization_member_access_level1enum.rb +11 -0
  155. data/lib/auth0/types/event_stream_cloud_event_org_connection_added_object_organization_member_access_level2enum.rb +11 -0
  156. data/lib/auth0/types/event_stream_cloud_event_org_connection_added_object_organization_member_access_level3enum.rb +11 -0
  157. data/lib/auth0/types/event_stream_cloud_event_org_connection_added_previous_object.rb +2 -0
  158. data/lib/auth0/types/event_stream_cloud_event_org_connection_added_previous_object_organization_member_access_l_1dbe67.rb +11 -0
  159. data/lib/auth0/types/event_stream_cloud_event_org_connection_added_previous_object_organization_member_access_l_4de563.rb +11 -0
  160. data/lib/auth0/types/event_stream_cloud_event_org_connection_added_previous_object_organization_member_access_l_7087fd.rb +11 -0
  161. data/lib/auth0/types/event_stream_cloud_event_org_connection_added_previous_object_organization_member_access_l_a4ce06.rb +11 -0
  162. data/lib/auth0/types/event_stream_cloud_event_org_connection_added_previous_object_organization_member_access_level.rb +18 -0
  163. data/lib/auth0/types/event_stream_cloud_event_org_connection_removed_cloud_event.rb +1 -1
  164. data/lib/auth0/types/event_stream_cloud_event_org_connection_updated_cloud_event.rb +1 -1
  165. data/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object.rb +2 -0
  166. data/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object_organization_member_access_level.rb +18 -0
  167. data/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object_organization_member_access_level0enum.rb +11 -0
  168. data/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object_organization_member_access_level1enum.rb +11 -0
  169. data/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object_organization_member_access_level2enum.rb +11 -0
  170. data/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object_organization_member_access_level3enum.rb +11 -0
  171. data/lib/auth0/types/event_stream_cloud_event_org_connection_updated_previous_object.rb +2 -0
  172. data/lib/auth0/types/event_stream_cloud_event_org_connection_updated_previous_object_organization_member_access_3669df.rb +11 -0
  173. data/lib/auth0/types/event_stream_cloud_event_org_connection_updated_previous_object_organization_member_access_55f897.rb +11 -0
  174. data/lib/auth0/types/event_stream_cloud_event_org_connection_updated_previous_object_organization_member_access_66926d.rb +11 -0
  175. data/lib/auth0/types/event_stream_cloud_event_org_connection_updated_previous_object_organization_member_access_88dadc.rb +11 -0
  176. data/lib/auth0/types/event_stream_cloud_event_org_connection_updated_previous_object_organization_member_access_level.rb +18 -0
  177. data/lib/auth0/types/event_stream_cloud_event_org_created_cloud_event.rb +1 -1
  178. data/lib/auth0/types/event_stream_cloud_event_org_deleted_cloud_event.rb +1 -1
  179. data/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_cloud_event.rb +1 -1
  180. data/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_cloud_event.rb +1 -1
  181. data/lib/auth0/types/event_stream_cloud_event_org_member_added_cloud_event.rb +1 -1
  182. data/lib/auth0/types/event_stream_cloud_event_org_member_deleted_cloud_event.rb +1 -1
  183. data/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_cloud_event.rb +1 -1
  184. data/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_cloud_event.rb +1 -1
  185. data/lib/auth0/types/event_stream_cloud_event_org_updated_cloud_event.rb +1 -1
  186. data/lib/auth0/types/event_stream_cloud_event_user_created_cloud_event.rb +1 -1
  187. data/lib/auth0/types/event_stream_cloud_event_user_deleted_cloud_event.rb +1 -1
  188. data/lib/auth0/types/event_stream_cloud_event_user_updated_cloud_event.rb +1 -1
  189. data/lib/auth0/types/get_brute_force_settings_response_content.rb +2 -0
  190. data/lib/auth0/types/get_client_response_content.rb +4 -0
  191. data/lib/auth0/types/get_segment_response_content.rb +2 -0
  192. data/lib/auth0/types/get_tenant_settings_response_content.rb +4 -0
  193. data/lib/auth0/types/list_attack_protection_captcha_policies_response_content.rb +23 -0
  194. data/lib/auth0/types/list_client_profiles_paginated_response_content.rb +12 -0
  195. data/lib/auth0/types/oauth_scope.rb +4 -0
  196. data/lib/auth0/types/preview_cimd_metadata_response_content.rb +2 -0
  197. data/lib/auth0/types/role_owner_id.rb +23 -0
  198. data/lib/auth0/types/role_owner_id_filter.rb +23 -0
  199. data/lib/auth0/types/rotate_client_secret_response_content.rb +4 -0
  200. data/lib/auth0/types/search_client_grants_response_content.rb +11 -0
  201. data/lib/auth0/types/search_clients_response_content.rb +11 -0
  202. data/lib/auth0/types/search_organization.rb +0 -2
  203. data/lib/auth0/types/segment.rb +2 -0
  204. data/lib/auth0/types/segment_status_enum.rb +12 -0
  205. data/lib/auth0/types/system_role_owner_id.rb +11 -0
  206. data/lib/auth0/types/update_brute_force_settings_response_content.rb +2 -0
  207. data/lib/auth0/types/update_client_response_content.rb +4 -0
  208. data/lib/auth0/types/update_segment_response_content.rb +2 -0
  209. data/lib/auth0/types/update_tenant_settings_response_content.rb +4 -0
  210. data/lib/auth0/version.rb +1 -1
  211. data/lib/auth0.rb +84 -5
  212. data/wiremock/wiremock-mappings.json +479 -91
  213. metadata +85 -6
  214. data/lib/auth0/experimentation/experiments/types/update_experiment_status_request_content.rb +0 -15
  215. data/lib/auth0/experimentation/feature_flags/types/update_feature_flag_status_request_content.rb +0 -15
  216. data/lib/auth0/types/update_experiment_status_response_content.rb +0 -45
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0ee008c469f95695eb60571f4ab79355846375df2cb681eb3bead53350eabdc
4
- data.tar.gz: 274ca0c5c3ed5bd0ca1c064304a547b2133b3b8b57e086a8e721fc6db5f4ed4b
3
+ metadata.gz: 0aef33bb7fb9dd8990a6f3a39622aba986b7a020907d8525990391d9deb71e0f
4
+ data.tar.gz: c90d04eb8ef0023be41b267547320b64ab259d651ddab120a42be278ee193285
5
5
  SHA512:
6
- metadata.gz: 3fafaf658bcec42cbd757cba5b05e0f3a511f1065857cb30751e539e0e5b61c004861c337274d8146cb555e7500c16b7307ba6a9ac6d5b732f78af1adad387e9
7
- data.tar.gz: 5c2d1b45e193299f235426a4ea46a6fb31082c48faa73e5959bda6f4daefb93ed68f935e1cbdb1f1912067ec50b943e89d65f48432d1eaf7618381fb49e79e43
6
+ metadata.gz: cc5b3db616d82d0dc6619e51da61abbb3455ceae6eec16869122cbfc88b8626aa66d9c57c6549ff5d9a1659691c8379527078d4e5f747e06f3688fbf28c8391c
7
+ data.tar.gz: 8d30725488a0cd575d8bc6fff7e740a8f17d8170e6871fade8e83a584e0b3f72b78b0059c83d2ba6e52901a4210bc1d1078f14c7e75baee87f7696e87a413701
data/.fern/metadata.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "cliVersion": "5.92.1",
2
+ "cliVersion": "5.144.3",
3
3
  "generatorName": "fernapi/fern-ruby-sdk",
4
4
  "generatorVersion": "1.24.1",
5
5
  "generatorConfig": {
@@ -10,9 +10,9 @@
10
10
  "offsetSemantics": "page-index",
11
11
  "useDefaultRequestParameterValues": true
12
12
  },
13
- "originGitCommit": "d0c167e92ed941d977b98e76601bd970b0e5ecea",
13
+ "originGitCommit": "275ad23d02d33d550693bc23ebae86dfa8ee7101",
14
14
  "originGitCommitIsDirty": false,
15
15
  "invokedBy": "ci",
16
16
  "ciProvider": "github",
17
- "sdkVersion": "6.3.1"
17
+ "sdkVersion": "6.4.1"
18
18
  }
data/.fern/replay.lock CHANGED
@@ -54,5 +54,11 @@ generations:
54
54
  cli_version: unknown
55
55
  generator_versions:
56
56
  fernapi/fern-ruby-sdk: 1.24.1
57
- current_generation: ddd12c1ca38e6c93db2c1d30e4194a2ecbca03ba
57
+ - commit_sha: 3ee763815dcd7a7a39f5c3c7c6bd40d4de0014d6
58
+ tree_hash: 0ce0997d753141426376e5ff1dcc183ea138c84e
59
+ timestamp: 2026-10-13T10:24:06.305Z
60
+ cli_version: unknown
61
+ generator_versions:
62
+ fernapi/fern-ruby-sdk: 1.24.1
63
+ current_generation: 3ee763815dcd7a7a39f5c3c7c6bd40d4de0014d6
58
64
  patches: []
data/.version CHANGED
@@ -1 +1 @@
1
- v6.4.0
1
+ v6.5.0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Change Log
2
2
 
3
+ ## [v6.5.0](https://github.com/auth0/ruby-auth0/tree/v6.5.0) (2026-10-14)
4
+ [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v6.4.0...v6.5.0)
5
+
6
+ **Added**
7
+ - feat: add Client Profiles, Captcha Policies, and client and client grant search, and remove update_status from experiments and feature flags [\#812](https://github.com/auth0/ruby-auth0/pull/812) ([fern-api[bot]](https://github.com/apps/fern-api))
8
+
9
+ **Fixed**
10
+ - fix: preserve false values in model fields [\#811](https://github.com/auth0/ruby-auth0/pull/811) ([kishore7snehil](https://github.com/kishore7snehil))
11
+
3
12
  ## [v6.4.0](https://github.com/auth0/ruby-auth0/tree/v6.4.0) (2026-09-30)
4
13
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v6.3.0...v6.4.0)
5
14
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- auth0 (6.4.0)
4
+ auth0 (6.5.0)
5
5
  addressable (~> 2.8)
6
6
  jwt (>= 2.7, < 4.0)
7
7
  rest-client (~> 2.1)
@@ -14,6 +14,8 @@ module Auth0
14
14
  field :mode, -> { Auth0::Types::BruteForceProtectionModeEnum }, optional: true, nullable: false
15
15
 
16
16
  field :max_attempts, -> { Integer }, optional: true, nullable: false
17
+
18
+ field :form_submission_mode, -> { Auth0::Types::BruteForceProtectionFormSubmissionModeEnum }, optional: true, nullable: false
17
19
  end
18
20
  end
19
21
  end
@@ -0,0 +1,210 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module AttackProtection
5
+ module CaptchaPolicies
6
+ class Client
7
+ # @param client [Auth0::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
10
+ def initialize(client:)
11
+ @client = client
12
+ end
13
+
14
+ # Retrieve all CAPTCHA attack protection policies for the tenant, sorted by priority ascending.
15
+ #
16
+ # @param request_options [Hash]
17
+ # @param _params [Hash]
18
+ # @option request_options [String] :base_url
19
+ # @option request_options [Hash{String => Object}] :additional_headers
20
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
21
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
22
+ # @option request_options [Integer] :timeout_in_seconds
23
+ #
24
+ # @example
25
+ # client.attack_protection.captcha_policies.list
26
+ #
27
+ # @return [Array[Auth0::Types::AttackProtectionCaptchaPolicy]]
28
+ def list(request_options: {}, **_params)
29
+ request = Auth0::Internal::JSON::Request.new(
30
+ base_url: request_options[:base_url],
31
+ method: "GET",
32
+ path: "attack-protection/captcha/policies",
33
+ request_options: request_options
34
+ )
35
+ begin
36
+ response = @client.send(request)
37
+ rescue Net::HTTPRequestTimeout
38
+ raise Auth0::Errors::TimeoutError
39
+ end
40
+ code = response.code.to_i
41
+ if code.between?(200, 299)
42
+ (response.body.to_s.empty? ? nil : Auth0::Types::ListAttackProtectionCaptchaPoliciesResponseContent.load(response.body))
43
+ else
44
+ error_class = Auth0::Errors::ResponseError.subclass_for_code(code)
45
+ raise error_class.new(response.body, code: code)
46
+ end
47
+ end
48
+
49
+ # Create a new CAPTCHA attack protection policy for the tenant. The maximum number of policies per tenant is
50
+ # determined by the tenant's subscription.
51
+ #
52
+ # @param request_options [Hash]
53
+ # @param params [Auth0::AttackProtection::CaptchaPolicies::Types::CreateAttackProtectionCaptchaPolicyRequestContent]
54
+ # @option request_options [String] :base_url
55
+ # @option request_options [Hash{String => Object}] :additional_headers
56
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
57
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
58
+ # @option request_options [Integer] :timeout_in_seconds
59
+ #
60
+ # @example
61
+ # client.attack_protection.captcha_policies.create(
62
+ # name: "name",
63
+ # priority: 1,
64
+ # match: {},
65
+ # action: {}
66
+ # )
67
+ #
68
+ # @return [Auth0::Types::AttackProtectionCaptchaPolicy]
69
+ def create(request_options: {}, **params)
70
+ params = Auth0::Internal::Types::Utils.normalize_keys(params)
71
+ request = Auth0::Internal::JSON::Request.new(
72
+ base_url: request_options[:base_url],
73
+ method: "POST",
74
+ path: "attack-protection/captcha/policies",
75
+ body: Auth0::AttackProtection::CaptchaPolicies::Types::CreateAttackProtectionCaptchaPolicyRequestContent.new(params).to_h,
76
+ request_options: request_options
77
+ )
78
+ begin
79
+ response = @client.send(request)
80
+ rescue Net::HTTPRequestTimeout
81
+ raise Auth0::Errors::TimeoutError
82
+ end
83
+ code = response.code.to_i
84
+ if code.between?(200, 299)
85
+ (response.body.to_s.empty? ? nil : Auth0::Types::AttackProtectionCaptchaPolicy.load(response.body))
86
+ else
87
+ error_class = Auth0::Errors::ResponseError.subclass_for_code(code)
88
+ raise error_class.new(response.body, code: code)
89
+ end
90
+ end
91
+
92
+ # Retrieve a single CAPTCHA attack protection policy for the tenant by ID.
93
+ #
94
+ # @param request_options [Hash]
95
+ # @param params [Hash]
96
+ # @option request_options [String] :base_url
97
+ # @option request_options [Hash{String => Object}] :additional_headers
98
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
99
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
100
+ # @option request_options [Integer] :timeout_in_seconds
101
+ # @option params [String] :id
102
+ #
103
+ # @example
104
+ # client.attack_protection.captcha_policies.get(id: "id")
105
+ #
106
+ # @return [Auth0::Types::AttackProtectionCaptchaPolicy]
107
+ def get(request_options: {}, **params)
108
+ params = Auth0::Internal::Types::Utils.normalize_keys(params)
109
+ request = Auth0::Internal::JSON::Request.new(
110
+ base_url: request_options[:base_url],
111
+ method: "GET",
112
+ path: "attack-protection/captcha/policies/#{URI.encode_uri_component(params[:id].to_s)}",
113
+ request_options: request_options
114
+ )
115
+ begin
116
+ response = @client.send(request)
117
+ rescue Net::HTTPRequestTimeout
118
+ raise Auth0::Errors::TimeoutError
119
+ end
120
+ code = response.code.to_i
121
+ if code.between?(200, 299)
122
+ (response.body.to_s.empty? ? nil : Auth0::Types::AttackProtectionCaptchaPolicy.load(response.body))
123
+ else
124
+ error_class = Auth0::Errors::ResponseError.subclass_for_code(code)
125
+ raise error_class.new(response.body, code: code)
126
+ end
127
+ end
128
+
129
+ # Delete a CAPTCHA attack protection policy for the tenant.
130
+ #
131
+ # @param request_options [Hash]
132
+ # @param params [Hash]
133
+ # @option request_options [String] :base_url
134
+ # @option request_options [Hash{String => Object}] :additional_headers
135
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
136
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
137
+ # @option request_options [Integer] :timeout_in_seconds
138
+ # @option params [String] :id
139
+ #
140
+ # @example
141
+ # client.attack_protection.captcha_policies.delete(id: "id")
142
+ #
143
+ # @return [untyped]
144
+ def delete(request_options: {}, **params)
145
+ params = Auth0::Internal::Types::Utils.normalize_keys(params)
146
+ request = Auth0::Internal::JSON::Request.new(
147
+ base_url: request_options[:base_url],
148
+ method: "DELETE",
149
+ path: "attack-protection/captcha/policies/#{URI.encode_uri_component(params[:id].to_s)}",
150
+ request_options: request_options
151
+ )
152
+ begin
153
+ response = @client.send(request)
154
+ rescue Net::HTTPRequestTimeout
155
+ raise Auth0::Errors::TimeoutError
156
+ end
157
+ code = response.code.to_i
158
+ return if code.between?(200, 299)
159
+
160
+ error_class = Auth0::Errors::ResponseError.subclass_for_code(code)
161
+ raise error_class.new(response.body, code: code)
162
+ end
163
+
164
+ # Partially update a CAPTCHA attack protection policy. Only the provided fields are modified. A provided match
165
+ # or action replaces the stored value in full rather than merging with it; within action, a provider secret or
166
+ # API key that is omitted from a provided provider block keeps its stored value.
167
+ #
168
+ # @param request_options [Hash]
169
+ # @param params [Auth0::AttackProtection::CaptchaPolicies::Types::UpdateAttackProtectionCaptchaPolicyRequestContent]
170
+ # @option request_options [String] :base_url
171
+ # @option request_options [Hash{String => Object}] :additional_headers
172
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
173
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
174
+ # @option request_options [Integer] :timeout_in_seconds
175
+ # @option params [String] :id
176
+ #
177
+ # @example
178
+ # client.attack_protection.captcha_policies.update(id: "id")
179
+ #
180
+ # @return [Auth0::Types::AttackProtectionCaptchaPolicy]
181
+ def update(request_options: {}, **params)
182
+ params = Auth0::Internal::Types::Utils.normalize_keys(params)
183
+ request_data = Auth0::AttackProtection::CaptchaPolicies::Types::UpdateAttackProtectionCaptchaPolicyRequestContent.new(params).to_h
184
+ non_body_param_names = %w[id]
185
+ body = request_data.except(*non_body_param_names)
186
+
187
+ request = Auth0::Internal::JSON::Request.new(
188
+ base_url: request_options[:base_url],
189
+ method: "PATCH",
190
+ path: "attack-protection/captcha/policies/#{URI.encode_uri_component(params[:id].to_s)}",
191
+ body: body,
192
+ request_options: request_options
193
+ )
194
+ begin
195
+ response = @client.send(request)
196
+ rescue Net::HTTPRequestTimeout
197
+ raise Auth0::Errors::TimeoutError
198
+ end
199
+ code = response.code.to_i
200
+ if code.between?(200, 299)
201
+ (response.body.to_s.empty? ? nil : Auth0::Types::AttackProtectionCaptchaPolicy.load(response.body))
202
+ else
203
+ error_class = Auth0::Errors::ResponseError.subclass_for_code(code)
204
+ raise error_class.new(response.body, code: code)
205
+ end
206
+ end
207
+ end
208
+ end
209
+ end
210
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module AttackProtection
5
+ module CaptchaPolicies
6
+ module Types
7
+ class CreateAttackProtectionCaptchaPolicyRequestContent < Internal::Types::Model
8
+ field :name, -> { String }, optional: false, nullable: false
9
+
10
+ field :description, -> { String }, optional: true, nullable: false
11
+
12
+ field :priority, -> { Integer }, optional: false, nullable: false
13
+
14
+ field :match, -> { Auth0::Types::AttackProtectionCaptchaPolicyMatch }, optional: false, nullable: false
15
+
16
+ field :action, -> { Auth0::Types::AttackProtectionCaptchaPolicyActionInput }, optional: false, nullable: false
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module AttackProtection
5
+ module CaptchaPolicies
6
+ module Types
7
+ class UpdateAttackProtectionCaptchaPolicyRequestContent < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+
10
+ field :name, -> { String }, optional: true, nullable: false
11
+
12
+ field :description, -> { String }, optional: true, nullable: false
13
+
14
+ field :priority, -> { Integer }, optional: true, nullable: false
15
+
16
+ field :match, -> { Auth0::Types::AttackProtectionCaptchaPolicyMatch }, optional: true, nullable: false
17
+
18
+ field :action, -> { Auth0::Types::AttackProtectionCaptchaPolicyActionInput }, optional: true, nullable: false
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -30,6 +30,11 @@ module Auth0
30
30
  @captcha ||= Auth0::AttackProtection::Captcha::Client.new(client: @client)
31
31
  end
32
32
 
33
+ # @return [Auth0::CaptchaPolicies::Client]
34
+ def captcha_policies
35
+ @captcha_policies ||= Auth0::AttackProtection::CaptchaPolicies::Client.new(client: @client)
36
+ end
37
+
33
38
  # @return [Auth0::PhoneProviderProtection::Client]
34
39
  def phone_provider_protection
35
40
  @phone_provider_protection ||= Auth0::AttackProtection::PhoneProviderProtection::Client.new(client: @client)
data/lib/auth0/client.rb CHANGED
@@ -43,6 +43,11 @@ module Auth0
43
43
  @client_grants ||= Auth0::ClientGrants::Client.new(client: @raw_client)
44
44
  end
45
45
 
46
+ # @return [Auth0::ClientProfiles::Client]
47
+ def client_profiles
48
+ @client_profiles ||= Auth0::ClientProfiles::Client.new(client: @raw_client)
49
+ end
50
+
46
51
  # @return [Auth0::Clients::Client]
47
52
  def clients
48
53
  @clients ||= Auth0::Clients::Client.new(client: @raw_client)
@@ -122,6 +122,78 @@ module Auth0
122
122
  end
123
123
  end
124
124
 
125
+ # Search client grants using SCIM or Lucene filter syntax with low-latency, eventually consistent results. Use the
126
+ # parser parameter to specify "scim" or "lucene" syntax (default: "lucene"). This endpoint provides an alternative
127
+ # to the standard GET /client-grants endpoint with better performance for complex queries.
128
+ # Results may not reflect recent updates immediately.
129
+ #
130
+ # @param request_options [Hash]
131
+ # @param params [Hash]
132
+ # @option request_options [String] :base_url
133
+ # @option request_options [Hash{String => Object}] :additional_headers
134
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
135
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
136
+ # @option request_options [Integer] :timeout_in_seconds
137
+ # @option params [String, nil] :q
138
+ # @option params [Auth0::Types::SearchParserEnum, nil] :parser
139
+ # @option params [String, nil] :fields
140
+ # @option params [Boolean, nil] :include_fields
141
+ # @option params [Integer, nil] :take
142
+ # @option params [String, nil] :from
143
+ # @option params [Auth0::Types::ClientGrantSortFieldEnum, nil] :sort
144
+ #
145
+ # @example
146
+ # client.client_grants.search(
147
+ # q: "q",
148
+ # parser: "scim",
149
+ # fields: "fields",
150
+ # include_fields: true,
151
+ # take: 1,
152
+ # from: "from",
153
+ # sort: "audience"
154
+ # )
155
+ #
156
+ # @return [Auth0::Types::SearchClientGrantsResponseContent]
157
+ def search(request_options: {}, **params)
158
+ params = Auth0::Internal::Types::Utils.normalize_keys(params)
159
+ query_params = {}
160
+ query_params["q"] = params[:q] if params.key?(:q)
161
+ query_params["parser"] = params[:parser] if params.key?(:parser)
162
+ query_params["fields"] = params[:fields] if params.key?(:fields)
163
+ query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields)
164
+ query_params["take"] = params.fetch(:take, 50)
165
+ query_params["from"] = params[:from] if params.key?(:from)
166
+ query_params["sort"] = params[:sort] if params.key?(:sort)
167
+
168
+ Auth0::Internal::CursorItemIterator.new(
169
+ cursor_field: :next_,
170
+ item_field: :client_grants,
171
+ initial_cursor: query_params["from"]
172
+ ) do |next_cursor|
173
+ query_params["from"] = next_cursor
174
+ request = Auth0::Internal::JSON::Request.new(
175
+ base_url: request_options[:base_url],
176
+ method: "GET",
177
+ path: "client-grants/search",
178
+ query: query_params,
179
+ request_options: request_options
180
+ )
181
+ begin
182
+ response = @client.send(request)
183
+ rescue Net::HTTPRequestTimeout
184
+ raise Auth0::Errors::TimeoutError
185
+ end
186
+ code = response.code.to_i
187
+ if code.between?(200, 299)
188
+ parsed_response = (response.body.to_s.empty? ? nil : Auth0::Types::SearchClientGrantsResponseContent.load(response.body))
189
+ [parsed_response, response]
190
+ else
191
+ error_class = Auth0::Errors::ResponseError.subclass_for_code(code)
192
+ raise error_class.new(response.body, code: code)
193
+ end
194
+ end
195
+ end
196
+
125
197
  # Retrieve a single [client
126
198
  # grant](https://auth0.com/docs/get-started/applications/application-access-to-apis-client-grants), including the
127
199
  # scopes associated with the application/API pair.
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module ClientGrants
5
+ module Types
6
+ class SearchClientGrantsRequestParameters < Internal::Types::Model
7
+ field :q, -> { String }, optional: true, nullable: false
8
+
9
+ field :parser, -> { Auth0::Types::SearchParserEnum }, optional: true, nullable: false
10
+
11
+ field :fields, -> { String }, optional: true, nullable: false
12
+
13
+ field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false
14
+
15
+ field :take, -> { Integer }, optional: true, nullable: false
16
+
17
+ field :from, -> { String }, optional: true, nullable: false
18
+
19
+ field :sort, -> { Auth0::Types::ClientGrantSortFieldEnum }, optional: true, nullable: false
20
+ end
21
+ end
22
+ end
23
+ end