auth0 6.0.0.beta.5 → 6.1.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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +5 -6
  3. data/.fern/replay.lock +7 -1
  4. data/.version +1 -1
  5. data/CHANGELOG.md +57 -0
  6. data/README.md +4 -1
  7. data/custom.gemspec.rb +1 -1
  8. data/examples/ruby-api/Gemfile.lock +3 -3
  9. data/lib/auth0/clients/client.rb +2 -2
  10. data/lib/auth0/connection_profiles/types/create_connection_profile_request_content.rb +2 -0
  11. data/lib/auth0/connection_profiles/types/update_connection_profile_request_content.rb +2 -0
  12. data/lib/auth0/connections/client.rb +2 -1
  13. data/lib/auth0/keys/client.rb +5 -0
  14. data/lib/auth0/keys/network_acls/client.rb +149 -0
  15. data/lib/auth0/keys/network_acls/types/create_keys_network_acls_request_content.rb +17 -0
  16. data/lib/auth0/mixins/token_management.rb +15 -11
  17. data/lib/auth0/types/client_my_organization_configuration_third_party_client_access_allowed_values_enum.rb +12 -0
  18. data/lib/auth0/types/client_my_organization_configuration_third_party_client_access_default_value_enum.rb +11 -0
  19. data/lib/auth0/types/client_my_organization_patch_configuration.rb +2 -0
  20. data/lib/auth0/types/client_my_organization_post_configuration.rb +2 -0
  21. data/lib/auth0/types/client_my_organization_response_configuration.rb +2 -0
  22. data/lib/auth0/types/client_my_organization_third_party_client_access_configuration.rb +12 -0
  23. data/lib/auth0/types/connection_identity_provider_enum.rb +1 -0
  24. data/lib/auth0/types/connection_options_common_oidc.rb +2 -0
  25. data/lib/auth0/types/connection_options_oidc.rb +2 -0
  26. data/lib/auth0/types/connection_options_okta.rb +2 -0
  27. data/lib/auth0/types/connection_profile.rb +2 -0
  28. data/lib/auth0/types/connection_profile_cross_app_access_resource_app.rb +10 -0
  29. data/lib/auth0/types/connection_profile_cross_app_access_resource_app_status.rb +12 -0
  30. data/lib/auth0/types/connection_profile_cross_app_access_resource_app_status_allowed_values_enum.rb +23 -0
  31. data/lib/auth0/types/connection_profile_cross_app_access_resource_app_status_default_value_enum.rb +12 -0
  32. data/lib/auth0/types/connection_profile_cross_app_access_resource_app_status_value_enum.rb +12 -0
  33. data/lib/auth0/types/connection_properties_options.rb +2 -0
  34. data/lib/auth0/types/connection_strategy_enum.rb +1 -0
  35. data/lib/auth0/types/connection_use_oauth_spec_scope.rb +23 -0
  36. data/lib/auth0/types/create_connection_profile_response_content.rb +2 -0
  37. data/lib/auth0/types/create_keys_network_acls_response_content.rb +19 -0
  38. data/lib/auth0/types/get_all_keys_network_acls_response_content.rb +9 -0
  39. data/lib/auth0/types/get_connection_profile_response_content.rb +2 -0
  40. data/lib/auth0/types/network_acl_key.rb +19 -0
  41. data/lib/auth0/types/network_acl_key_algorithm_enum.rb +11 -0
  42. data/lib/auth0/types/network_acl_rule.rb +2 -0
  43. data/lib/auth0/types/network_acl_rule_match_all_enum.rb +23 -0
  44. data/lib/auth0/types/oauth_scope.rb +3 -0
  45. data/lib/auth0/types/update_connection_options.rb +2 -0
  46. data/lib/auth0/types/update_connection_profile_response_content.rb +2 -0
  47. data/lib/auth0/version.rb +1 -1
  48. data/lib/auth0.rb +18 -2
  49. data/v6_MIGRATION_GUIDE.md +1 -1
  50. data/wiremock/wiremock-mappings.json +147 -12
  51. metadata +26 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 44661a16cc8215e532d46465e5c647b067908ee2d302802b1533b62dc3ad201b
4
- data.tar.gz: dd5f4eb1891e573e222dc8cbb0805fb5feb163ba605ddb295794e53785a4537b
3
+ metadata.gz: d6102c49b900b0bc76d006d48f7a66f61fd9128c01df08642232d0754d50265a
4
+ data.tar.gz: ab0a848a58ffc9fbcbc7d2d589d801a018edd0652d609447be7095e6ffaa8383
5
5
  SHA512:
6
- metadata.gz: 0eff9acb7ca50565e1743084fe3d617ba4fe76249dac4e8937384638225bfa2ca05d2e09c4dc1c457101345fcf2e459ec5c05611b48fb2803140f728d8d10f7b
7
- data.tar.gz: 32905d9e1bf76a1baff84734f5d03d97e0592256f76693690e882193ad939dc022b4c10c3486ba9436ad0f45ad0b6562f819a53d7e7a5ed824545becd9565161
6
+ metadata.gz: 45df9f724dfc9f2f4374d2fb97deb7746e06d83e6e8a66208c3cc56e3ee885a2d6d2824e2e607cb42d09ddf1fe228a9674e0ca6a7894b12eeb0c250be3e04640
7
+ data.tar.gz: 37254b01d3e97c61faa86e0f140a0de5c45dfb9bab0a17834aded88015dc2d0729af56f22e2ad6a440f656fe0ff768010c8b75161972224e251905aaf26ea811
data/.fern/metadata.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "cliVersion": "5.75.6",
2
+ "cliVersion": "5.92.1",
3
3
  "generatorName": "fernapi/fern-ruby-sdk",
4
4
  "generatorVersion": "1.17.8",
5
5
  "generatorConfig": {
@@ -10,9 +10,8 @@
10
10
  "offsetSemantics": "page-index",
11
11
  "useDefaultRequestParameterValues": true
12
12
  },
13
- "originGitCommit": "8857b12c5a5345e87088f8d57ba9cffdb82ed9fe",
14
- "originGitCommitIsDirty": false,
15
- "invokedBy": "ci",
16
- "ciProvider": "github",
17
- "sdkVersion": "5.20.1"
13
+ "originGitCommit": "116b6ea19a35544baa3e3cf608e45d3990d7cc6e",
14
+ "originGitCommitIsDirty": true,
15
+ "invokedBy": "manual",
16
+ "sdkVersion": "6.0.1"
18
17
  }
data/.fern/replay.lock CHANGED
@@ -30,5 +30,11 @@ generations:
30
30
  cli_version: unknown
31
31
  generator_versions:
32
32
  fernapi/fern-ruby-sdk: 1.17.8
33
- current_generation: ff82f16a518e8ee51b23570ed1a303f3c070ff02
33
+ - commit_sha: 1cfe82c679b6122773317ebd41bff24b09388b3d
34
+ tree_hash: a7034ef350a9bfaa17781b64316723f688b91e18
35
+ timestamp: 2026-08-19T06:07:50.024Z
36
+ cli_version: unknown
37
+ generator_versions:
38
+ fernapi/fern-ruby-sdk: 1.17.8
39
+ current_generation: 1cfe82c679b6122773317ebd41bff24b09388b3d
34
40
  patches: []
data/.version CHANGED
@@ -1 +1 @@
1
- v6.0.0.beta.5
1
+ v6.1.0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # Change Log
2
2
 
3
+ ## [v6.1.0](https://github.com/auth0/ruby-auth0/tree/v6.1.0) (2026-08-19)
4
+ [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v6.0.0...v6.1.0)
5
+
6
+ **Added**
7
+ - feat: add Network ACL Key read/delete, Cross App Access resource app, third-party client access, and useOauthSpecScope [\#788](https://github.com/auth0/ruby-auth0/pull/788) ([fern-api[bot]](https://github.com/apps/fern-api))
8
+
9
+ ## [v6.0.0](https://github.com/auth0/ruby-auth0/tree/v6.0.0) (2026-08-13)
10
+ [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.20.0...v6.0.0)
11
+
12
+ Note: As this is a major release it is recommended to understand the **Breaking Changes** section before upgrading. The [v6 Migration Guide](v6_MIGRATION_GUIDE.md) contains detailed upgrade instructions.
13
+
14
+ v6.0.0 is the first stable release of the v6 line. The Management API client is now generated from Auth0's OpenAPI specification via [Fern](https://buildwithfern.com/), with strongly-typed requests and responses, built-in pagination, and automatic token management through the unified `Auth0::Client`. The Authentication API is ported from v5 and maintains full feature parity.
15
+
16
+ **Breaking Changes**
17
+ - Management API client rewritten using Fern code generation
18
+ - `Auth0Client` replaced by `Auth0::Client` (unified client for Authentication + Management APIs; `Auth0Client` remains as a backward-compatible alias)
19
+ - Management API methods accessed via namespaced sub-clients (`client.users.list` instead of `client.users`)
20
+ - Method names follow a consistent pattern (`list`, `create`, `get`, `update`, `delete`), and sub-resource operations moved to dedicated sub-clients
21
+ - All Management API methods use keyword arguments instead of positional parameters
22
+ - API methods return strongly-typed response objects instead of raw hashes
23
+ - List methods return paginated iterators instead of arrays
24
+ - Non-2xx responses raise typed exceptions (`Auth0::Errors::NotFoundError`, etc.) instead of returning error hashes
25
+ - The `api_version` parameter has been removed (v6 supports Management API v2 only)
26
+ - `rest-client` dependency removed; uses `net/http` internally
27
+ - Minimum Ruby version raised to 3.3
28
+
29
+ **Added**
30
+ - Auto-generated Management API with complete endpoint coverage from Auth0's OpenAPI spec
31
+ - Automatic OAuth 2.0 client credentials token management, with a new `token_provider` option for supplying tokens from an external source
32
+ - Built-in retry with exponential backoff for transient failures (408, 429, 5xx)
33
+ - Automatic pagination through iterator objects for all list endpoints
34
+ - `v6_MIGRATION_GUIDE.md` for upgrading from v5
35
+
36
+ **Unchanged**
37
+ - Authentication API (login, signup, token exchange, passwordless, MFA)
38
+
3
39
  ## [v6.0.0.beta.5](https://github.com/auth0/ruby-auth0/tree/v6.0.0.beta.5) (2026-08-05)
4
40
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v6.0.0.beta.4...v6.0.0.beta.5)
5
41
 
@@ -32,6 +68,18 @@
32
68
  **Added**
33
69
  - feat: add Tenant Security Headers and Connection Session Expiry; remove Branding Phone Display [\#751](https://github.com/auth0/ruby-auth0/pull/751) ([fern-api[bot]](https://github.com/apps/fern-api))
34
70
 
71
+ ## [v5.20.0](https://github.com/auth0/ruby-auth0/tree/v5.20.0) (2026-05-29)
72
+ [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.19.0...v5.20.0)
73
+
74
+ **Changed**
75
+ - Support jwt gem 3.x alongside 2.x [\#726](https://github.com/auth0/ruby-auth0/pull/726) ([dan98765](https://github.com/dan98765))
76
+
77
+ **Fixed**
78
+ - Fix YARD comment with extra space [\#637](https://github.com/auth0/ruby-auth0/pull/637) ([qtro](https://github.com/qtro))
79
+
80
+ **Security**
81
+ - chore(deps): bump jwt from 3.1.2 to 3.2.0 [\#745](https://github.com/auth0/ruby-auth0/pull/745) ([dependabot[bot]](https://github.com/apps/dependabot))
82
+
35
83
  ## [v6.0.0.beta.1](https://github.com/auth0/ruby-auth0/tree/v6.0.0.beta.1) (2026-05-28)
36
84
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v6.0.0.beta.0...v6.0.0.beta.1)
37
85
 
@@ -39,6 +87,15 @@
39
87
  - feat: Events API, Rate Limit Policies, refresh token revocation, FedCM, DPoP GA [\#732](https://github.com/auth0/ruby-auth0/pull/732) ([fern-api[bot]](https://github.com/apps/fern-api))
40
88
  - feat: add SCIM Groups RBAC, User Effective Permissions/Roles, and Tenant Country Codes [\#742](https://github.com/auth0/ruby-auth0/pull/742) ([fern-api[bot]](https://github.com/apps/fern-api))
41
89
 
90
+ ## [v5.19.0](https://github.com/auth0/ruby-auth0/tree/v5.19.0) (2026-05-08)
91
+ [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.18.1...v5.19.0)
92
+
93
+ **Added**
94
+ - Make Auth0::Client#get_token public [\#725](https://github.com/auth0/ruby-auth0/pull/725) ([ttstarck](https://github.com/ttstarck))
95
+
96
+ **Fixed**
97
+ - Ship only runtime files in packaged gem to eliminate scanner false positives [\#721](https://github.com/auth0/ruby-auth0/pull/721) ([tmertens](https://github.com/tmertens))
98
+
42
99
  ## 6.0.0-beta.0 (2026-04-30)
43
100
 
44
101
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.18.1...v6.0.0.beta.0)
data/README.md CHANGED
@@ -3,10 +3,13 @@
3
3
  Ruby API client for the [Auth0](https://auth0.com) platform.
4
4
 
5
5
  [![Gem Version](https://badge.fury.io/rb/auth0.svg)](http://badge.fury.io/rb/auth0)
6
+ [![codecov](https://codecov.io/gh/auth0/ruby-auth0/branch/master/graph/badge.svg)](https://codecov.io/gh/auth0/ruby-auth0)
7
+ [![Yard Docs](http://img.shields.io/badge/yard-docs-blue.svg)](https://www.rubydoc.info/gems/auth0)
6
8
  [![MIT licensed](https://img.shields.io/dub/l/vibe-d.svg?style=flat)](https://github.com/auth0/ruby-auth0/blob/master/LICENSE)
9
+ [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/auth0/ruby-auth0)
7
10
 
8
11
  <div>
9
- <a href="#documentation">Documentation</a> - <a href="#getting-started">Getting started</a> - <a href="#api-reference">API reference</a> - <a href="#feedback">Feedback</a>
12
+ 📚 <a href="#documentation">Documentation</a> - 🚀 <a href="#getting-started">Getting started</a> - 💻 <a href="#api-reference">API reference</a> - 💬 <a href="#feedback">Feedback</a>
10
13
  </div>
11
14
 
12
15
  ## Documentation
data/custom.gemspec.rb CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  def add_custom_gemspec_data(spec)
10
10
  spec.add_dependency "rest-client", "~> 2.1"
11
- spec.add_dependency "jwt", "~> 2.7"
11
+ spec.add_dependency "jwt", ">= 2.7", "< 4.0"
12
12
  spec.add_dependency "zache", "~> 0.12"
13
13
  spec.add_dependency "addressable", "~> 2.8"
14
14
  spec.add_dependency "retryable", "~> 3.0"
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- auth0 (0.0.0)
4
+ auth0 (6.1.0)
5
5
  addressable (~> 2.8)
6
- jwt (~> 2.7)
6
+ jwt (>= 2.7, < 4.0)
7
7
  rest-client (~> 2.1)
8
8
  retryable (~> 3.0)
9
9
  zache (~> 0.12)
@@ -19,7 +19,7 @@ GEM
19
19
  http-accept (1.7.0)
20
20
  http-cookie (1.1.6)
21
21
  domain_name (~> 0.5)
22
- jwt (2.10.2)
22
+ jwt (2.10.3)
23
23
  base64
24
24
  logger (1.7.0)
25
25
  mime-types (3.7.0)
@@ -25,7 +25,7 @@ module Auth0
25
25
  # `jwt_configuration.lifetime_in_seconds`, `jwt_configuration.secret_encoded`,
26
26
  # `jwt_configuration.scopes`, `jwt_configuration.alg`, `api_type`,
27
27
  # `logo_uri`, `allowed_clients`, `owners`, `custom_login_page`,
28
- # `custom_login_page_off`, `sso`, `addons`, `form_template`,
28
+ # `custom_login_page_on`, `sso`, `addons`, `form_template`,
29
29
  # `custom_login_page_codeview`, `resource_servers`, `client_metadata`,
30
30
  # `mobile`, `mobile.android`, `mobile.ios`, `allowed_logout_urls`,
31
31
  # `token_endpoint_auth_method`, `is_first_party`, `oidc_conformant`,
@@ -249,7 +249,7 @@ module Auth0
249
249
  # `jwt_configuration.lifetime_in_seconds`, `jwt_configuration.secret_encoded`,
250
250
  # `jwt_configuration.scopes`, `jwt_configuration.alg`, `api_type`,
251
251
  # `logo_uri`, `allowed_clients`, `owners`, `custom_login_page`,
252
- # `custom_login_page_off`, `sso`, `addons`, `form_template`,
252
+ # `custom_login_page_on`, `sso`, `addons`, `form_template`,
253
253
  # `custom_login_page_codeview`, `resource_servers`, `client_metadata`,
254
254
  # `mobile`, `mobile.android`, `mobile.ios`, `allowed_logout_urls`,
255
255
  # `token_endpoint_auth_method`, `is_first_party`, `oidc_conformant`,
@@ -15,6 +15,8 @@ module Auth0
15
15
  field :connection_config, -> { Auth0::Types::ConnectionProfileConfig }, optional: true, nullable: false
16
16
 
17
17
  field :strategy_overrides, -> { Auth0::Types::ConnectionProfileStrategyOverrides }, optional: true, nullable: false
18
+
19
+ field :cross_app_access_resource_app, -> { Auth0::Types::ConnectionProfileCrossAppAccessResourceApp }, optional: true, nullable: false
18
20
  end
19
21
  end
20
22
  end
@@ -17,6 +17,8 @@ module Auth0
17
17
  field :connection_config, -> { Auth0::Types::ConnectionProfileConfig }, optional: true, nullable: false
18
18
 
19
19
  field :strategy_overrides, -> { Auth0::Types::ConnectionProfileStrategyOverrides }, optional: true, nullable: false
20
+
21
+ field :cross_app_access_resource_app, -> { Auth0::Types::ConnectionProfileCrossAppAccessResourceApp }, optional: true, nullable: false
20
22
  end
21
23
  end
22
24
  end
@@ -210,7 +210,8 @@ module Auth0
210
210
  # option properties for identity provider configuration.
211
211
  #
212
212
  # **Note**: If you use the `options` parameter, the entire `options` object is overridden. To avoid partial data
213
- # or other issues, ensure all parameters are present when using this option.
213
+ # or other issues, ensure all parameters are present when using this option. If any options are unspecified, the
214
+ # default will be used, even if it differs from the existing value.
214
215
  #
215
216
  # @param request_options [Hash]
216
217
  # @param params [Auth0::Connections::Types::UpdateConnectionRequestContent]
@@ -20,6 +20,11 @@ module Auth0
20
20
  @encryption ||= Auth0::Keys::Encryption::Client.new(client: @client)
21
21
  end
22
22
 
23
+ # @return [Auth0::NetworkACLs::Client]
24
+ def network_acls
25
+ @network_acls ||= Auth0::Keys::NetworkACLs::Client.new(client: @client)
26
+ end
27
+
23
28
  # @return [Auth0::Signing::Client]
24
29
  def signing
25
30
  @signing ||= Auth0::Keys::Signing::Client.new(client: @client)
@@ -0,0 +1,149 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module Keys
5
+ module NetworkACLs
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 keys used to verify HTTP Message Signatures on Network ACL rules, ordered by creation time
15
+ # descending.
16
+ #
17
+ # @param request_options [Hash]
18
+ # @param _params [Hash]
19
+ # @option request_options [String] :base_url
20
+ # @option request_options [Hash{String => Object}] :additional_headers
21
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
22
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
23
+ # @option request_options [Integer] :timeout_in_seconds
24
+ #
25
+ # @return [Auth0::Types::GetAllKeysNetworkACLsResponseContent]
26
+ def list(request_options: {}, **_params)
27
+ request = Auth0::Internal::JSON::Request.new(
28
+ base_url: request_options[:base_url],
29
+ method: "GET",
30
+ path: "keys/network-acls",
31
+ request_options: request_options
32
+ )
33
+ begin
34
+ response = @client.send(request)
35
+ rescue Net::HTTPRequestTimeout
36
+ raise Auth0::Errors::TimeoutError
37
+ end
38
+ code = response.code.to_i
39
+ if code.between?(200, 299)
40
+ Auth0::Types::GetAllKeysNetworkACLsResponseContent.load(response.body)
41
+ else
42
+ error_class = Auth0::Errors::ResponseError.subclass_for_code(code)
43
+ raise error_class.new(response.body, code: code)
44
+ end
45
+ end
46
+
47
+ # Create a new key used to verify HTTP Message Signatures on Network ACL rules.
48
+ #
49
+ # @param request_options [Hash]
50
+ # @param params [Auth0::Keys::NetworkACLs::Types::CreateKeysNetworkACLsRequestContent]
51
+ # @option request_options [String] :base_url
52
+ # @option request_options [Hash{String => Object}] :additional_headers
53
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
54
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
55
+ # @option request_options [Integer] :timeout_in_seconds
56
+ #
57
+ # @return [Auth0::Types::CreateKeysNetworkACLsResponseContent]
58
+ def create(request_options: {}, **params)
59
+ params = Auth0::Internal::Types::Utils.normalize_keys(params)
60
+ request = Auth0::Internal::JSON::Request.new(
61
+ base_url: request_options[:base_url],
62
+ method: "POST",
63
+ path: "keys/network-acls",
64
+ body: Auth0::Keys::NetworkACLs::Types::CreateKeysNetworkACLsRequestContent.new(params).to_h,
65
+ request_options: request_options
66
+ )
67
+ begin
68
+ response = @client.send(request)
69
+ rescue Net::HTTPRequestTimeout
70
+ raise Auth0::Errors::TimeoutError
71
+ end
72
+ code = response.code.to_i
73
+ if code.between?(200, 299)
74
+ Auth0::Types::CreateKeysNetworkACLsResponseContent.load(response.body)
75
+ else
76
+ error_class = Auth0::Errors::ResponseError.subclass_for_code(code)
77
+ raise error_class.new(response.body, code: code)
78
+ end
79
+ end
80
+
81
+ # Retrieve a specific key used to verify HTTP Message Signatures on Network ACL rules.
82
+ #
83
+ # @param request_options [Hash]
84
+ # @param params [Hash]
85
+ # @option request_options [String] :base_url
86
+ # @option request_options [Hash{String => Object}] :additional_headers
87
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
88
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
89
+ # @option request_options [Integer] :timeout_in_seconds
90
+ # @option params [String] :id
91
+ #
92
+ # @return [Auth0::Types::NetworkACLKey]
93
+ def get(request_options: {}, **params)
94
+ params = Auth0::Internal::Types::Utils.normalize_keys(params)
95
+ request = Auth0::Internal::JSON::Request.new(
96
+ base_url: request_options[:base_url],
97
+ method: "GET",
98
+ path: "keys/network-acls/#{URI.encode_uri_component(params[:id].to_s)}",
99
+ request_options: request_options
100
+ )
101
+ begin
102
+ response = @client.send(request)
103
+ rescue Net::HTTPRequestTimeout
104
+ raise Auth0::Errors::TimeoutError
105
+ end
106
+ code = response.code.to_i
107
+ if code.between?(200, 299)
108
+ Auth0::Types::NetworkACLKey.load(response.body)
109
+ else
110
+ error_class = Auth0::Errors::ResponseError.subclass_for_code(code)
111
+ raise error_class.new(response.body, code: code)
112
+ end
113
+ end
114
+
115
+ # Delete a key used to verify HTTP Message Signatures on Network ACL rules
116
+ #
117
+ # @param request_options [Hash]
118
+ # @param params [Hash]
119
+ # @option request_options [String] :base_url
120
+ # @option request_options [Hash{String => Object}] :additional_headers
121
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
122
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
123
+ # @option request_options [Integer] :timeout_in_seconds
124
+ # @option params [String] :id
125
+ #
126
+ # @return [untyped]
127
+ def delete(request_options: {}, **params)
128
+ params = Auth0::Internal::Types::Utils.normalize_keys(params)
129
+ request = Auth0::Internal::JSON::Request.new(
130
+ base_url: request_options[:base_url],
131
+ method: "DELETE",
132
+ path: "keys/network-acls/#{URI.encode_uri_component(params[:id].to_s)}",
133
+ request_options: request_options
134
+ )
135
+ begin
136
+ response = @client.send(request)
137
+ rescue Net::HTTPRequestTimeout
138
+ raise Auth0::Errors::TimeoutError
139
+ end
140
+ code = response.code.to_i
141
+ return if code.between?(200, 299)
142
+
143
+ error_class = Auth0::Errors::ResponseError.subclass_for_code(code)
144
+ raise error_class.new(response.body, code: code)
145
+ end
146
+ end
147
+ end
148
+ end
149
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module Keys
5
+ module NetworkACLs
6
+ module Types
7
+ class CreateKeysNetworkACLsRequestContent < Internal::Types::Model
8
+ field :name, -> { String }, optional: false, nullable: false
9
+
10
+ field :alg, -> { Auth0::Types::NetworkACLKeyAlgorithmEnum }, optional: false, nullable: false
11
+
12
+ field :value, -> { String }, optional: false, nullable: false
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -2,17 +2,10 @@ module Auth0
2
2
  module Mixins
3
3
  module TokenManagement
4
4
 
5
- private
6
-
7
- def initialize_token(options)
8
- @token = options[:access_token] || options[:token]
9
- # default expiry to an hour if a token was given but no expires_at
10
- @token_expires_at = @token ? options[:token_expires_at] || Time.now.to_i + 3600 : nil
11
-
12
- @audience = options[:api_identifier] || "https://#{@domain}/api/v2/"
13
- get_token() if @token.nil?
14
- end
15
-
5
+ # Get the Client's api token (or generate a new one if it has expired).
6
+ #
7
+ # @note This method may perform a network request to refresh an expired token. It is not thread-safe.
8
+ # @return [String] the api token
16
9
  def get_token
17
10
  has_expired = @token && @token_expires_at ? @token_expires_at < (Time.now.to_i + 10) : false
18
11
 
@@ -30,6 +23,17 @@ module Auth0
30
23
  @token
31
24
  end
32
25
  end
26
+
27
+ private
28
+
29
+ def initialize_token(options)
30
+ @token = options[:access_token] || options[:token]
31
+ # default expiry to an hour if a token was given but no expires_at
32
+ @token_expires_at = @token ? options[:token_expires_at] || Time.now.to_i + 3600 : nil
33
+
34
+ @audience = options[:api_identifier] || "https://#{@domain}/api/v2/"
35
+ get_token() if @token.nil?
36
+ end
33
37
  end
34
38
  end
35
39
  end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module Types
5
+ module ClientMyOrganizationConfigurationThirdPartyClientAccessAllowedValuesEnum
6
+ extend Auth0::Internal::Types::Enum
7
+
8
+ ALLOW = "allow"
9
+ BLOCK = "block"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module Types
5
+ module ClientMyOrganizationConfigurationThirdPartyClientAccessDefaultValueEnum
6
+ extend Auth0::Internal::Types::Enum
7
+
8
+ BLOCK = "block"
9
+ end
10
+ end
11
+ end
@@ -10,6 +10,8 @@ module Auth0
10
10
 
11
11
  field :allowed_strategies, -> { Internal::Types::Array[Auth0::Types::ClientMyOrganizationConfigurationAllowedStrategiesEnum] }, optional: false, nullable: false
12
12
 
13
+ field :third_party_client_access, -> { Auth0::Types::ClientMyOrganizationThirdPartyClientAccessConfiguration }, optional: true, nullable: false
14
+
13
15
  field :connection_deletion_behavior, -> { Auth0::Types::ClientMyOrganizationDeletionBehaviorEnum }, optional: false, nullable: false
14
16
 
15
17
  field :invitation_landing_client_id, -> { String }, optional: true, nullable: false
@@ -10,6 +10,8 @@ module Auth0
10
10
 
11
11
  field :allowed_strategies, -> { Internal::Types::Array[Auth0::Types::ClientMyOrganizationConfigurationAllowedStrategiesEnum] }, optional: false, nullable: false
12
12
 
13
+ field :third_party_client_access, -> { Auth0::Types::ClientMyOrganizationThirdPartyClientAccessConfiguration }, optional: true, nullable: false
14
+
13
15
  field :connection_deletion_behavior, -> { Auth0::Types::ClientMyOrganizationDeletionBehaviorEnum }, optional: false, nullable: false
14
16
 
15
17
  field :invitation_landing_client_id, -> { String }, optional: true, nullable: false
@@ -10,6 +10,8 @@ module Auth0
10
10
 
11
11
  field :allowed_strategies, -> { Internal::Types::Array[Auth0::Types::ClientMyOrganizationConfigurationAllowedStrategiesEnum] }, optional: false, nullable: false
12
12
 
13
+ field :third_party_client_access, -> { Auth0::Types::ClientMyOrganizationThirdPartyClientAccessConfiguration }, optional: true, nullable: false
14
+
13
15
  field :connection_deletion_behavior, -> { Auth0::Types::ClientMyOrganizationDeletionBehaviorEnum }, optional: false, nullable: false
14
16
 
15
17
  field :invitation_landing_client_id, -> { String }, optional: true, nullable: false
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module Types
5
+ # The third-party client access configuration for the My Organization Configuration.
6
+ class ClientMyOrganizationThirdPartyClientAccessConfiguration < Internal::Types::Model
7
+ field :default_value, -> { Auth0::Types::ClientMyOrganizationConfigurationThirdPartyClientAccessDefaultValueEnum }, optional: false, nullable: false
8
+
9
+ field :allowed_values, -> { Internal::Types::Array[Auth0::Types::ClientMyOrganizationConfigurationThirdPartyClientAccessAllowedValuesEnum] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
@@ -60,6 +60,7 @@ module Auth0
60
60
  WORDPRESS = "wordpress"
61
61
  YAHOO = "yahoo"
62
62
  YANDEX = "yandex"
63
+ NOTION_MCP = "notion-mcp"
63
64
  end
64
65
  end
65
66
  end
@@ -47,6 +47,8 @@ module Auth0
47
47
  field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false
48
48
 
49
49
  field :userinfo_endpoint, -> { String }, optional: true, nullable: false
50
+
51
+ field :use_oauth_spec_scope, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "useOauthSpecScope"
50
52
  end
51
53
  end
52
54
  end
@@ -48,6 +48,8 @@ module Auth0
48
48
 
49
49
  field :userinfo_endpoint, -> { String }, optional: true, nullable: false
50
50
 
51
+ field :use_oauth_spec_scope, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "useOauthSpecScope"
52
+
51
53
  field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false
52
54
 
53
55
  field :attribute_map, -> { Auth0::Types::ConnectionAttributeMapOidc }, optional: true, nullable: false
@@ -50,6 +50,8 @@ module Auth0
50
50
 
51
51
  field :userinfo_endpoint, -> { String }, optional: true, nullable: false
52
52
 
53
+ field :use_oauth_spec_scope, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "useOauthSpecScope"
54
+
53
55
  field :attribute_map, -> { Auth0::Types::ConnectionAttributeMapOkta }, optional: true, nullable: false
54
56
 
55
57
  field :domain, -> { String }, optional: true, nullable: false
@@ -16,6 +16,8 @@ module Auth0
16
16
  field :connection_config, -> { Auth0::Types::ConnectionProfileConfig }, optional: true, nullable: false
17
17
 
18
18
  field :strategy_overrides, -> { Auth0::Types::ConnectionProfileStrategyOverrides }, optional: true, nullable: false
19
+
20
+ field :cross_app_access_resource_app, -> { Auth0::Types::ConnectionProfileCrossAppAccessResourceApp }, optional: true, nullable: false
19
21
  end
20
22
  end
21
23
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module Types
5
+ # Controls whether organization admins may enable Cross App Access (XAA) on their Identity Providers.
6
+ class ConnectionProfileCrossAppAccessResourceApp < Internal::Types::Model
7
+ field :status, -> { Auth0::Types::ConnectionProfileCrossAppAccessResourceAppStatus }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module Types
5
+ # The Cross App Access resource app status configuration.
6
+ class ConnectionProfileCrossAppAccessResourceAppStatus < Internal::Types::Model
7
+ field :default_value, -> { Auth0::Types::ConnectionProfileCrossAppAccessResourceAppStatusDefaultValueEnum }, optional: false, nullable: false
8
+
9
+ field :allowed_values, -> { Internal::Types::Array[Auth0::Types::ConnectionProfileCrossAppAccessResourceAppStatusValueEnum] }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module Types
5
+ module ConnectionProfileCrossAppAccessResourceAppStatusAllowedValuesEnum
6
+ # ConnectionProfileCrossAppAccessResourceAppStatusAllowedValuesEnum is an alias for Array
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module Types
5
+ module ConnectionProfileCrossAppAccessResourceAppStatusDefaultValueEnum
6
+ extend Auth0::Internal::Types::Enum
7
+
8
+ ENABLED = "enabled"
9
+ DISABLED = "disabled"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module Types
5
+ module ConnectionProfileCrossAppAccessResourceAppStatusValueEnum
6
+ extend Auth0::Internal::Types::Enum
7
+
8
+ ENABLED = "enabled"
9
+ DISABLED = "disabled"
10
+ end
11
+ end
12
+ end