auth0 5.8.1 → 5.10.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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/.bundle/config +2 -1
  3. data/.circleci/config.yml +6 -4
  4. data/.devcontainer/Dockerfile +19 -0
  5. data/.devcontainer/devcontainer.json +37 -0
  6. data/CHANGELOG.md +24 -0
  7. data/Gemfile +2 -2
  8. data/Gemfile.lock +52 -80
  9. data/auth0.gemspec +2 -2
  10. data/examples/ruby-api/Gemfile +3 -2
  11. data/examples/ruby-api/Gemfile.lock +32 -0
  12. data/examples/ruby-api/README.md +2 -2
  13. data/lib/auth0/api/authentication_endpoints.rb +0 -2
  14. data/lib/auth0/api/v2/connections.rb +6 -3
  15. data/lib/auth0/api/v2/device_credentials.rb +1 -1
  16. data/lib/auth0/api/v2/jobs.rb +15 -4
  17. data/lib/auth0/api/v2/organizations.rb +1 -1
  18. data/lib/auth0/api/v2/users.rb +10 -1
  19. data/lib/auth0/mixins/httpproxy.rb +11 -12
  20. data/lib/auth0/mixins/token_management.rb +1 -1
  21. data/lib/auth0/version.rb +1 -1
  22. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_patch_client/should_update_the_client_with_the_correct_attributes.yml +2 -1
  23. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml +1 -1
  24. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_update_rule/should_update_the_disabled_rule_to_be_enabled.yml +1 -1
  25. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_revert_the_tenant_name.yml +1 -1
  26. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_update_the_tenant_settings_with_a_new_tenant_name.yml +1 -1
  27. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_roles/should_add_a_Role_to_a_User_successfully.yml +1 -1
  28. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_patch_user/should_patch_the_User_successfully.yml +1 -1
  29. data/spec/lib/auth0/api/v2/connections_spec.rb +24 -4
  30. data/spec/lib/auth0/api/v2/jobs_spec.rb +18 -0
  31. data/spec/lib/auth0/api/v2/users_spec.rb +15 -0
  32. data/spec/lib/auth0/mixins/httpproxy_spec.rb +53 -17
  33. data/spec/lib/auth0/mixins/token_management_spec.rb +2 -7
  34. data/spec/spec_helper.rb +6 -2
  35. metadata +14 -241
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e54c493b04d5d9dcae2e7f60a12a209f772b032bbc2b301d02653fb47562df76
4
- data.tar.gz: f1c6e009ac351743fea12e8d75c95eb0998fadf0b8bdabf27def1d8f930a5a57
3
+ metadata.gz: 40aab484c4f3864d285e116a837151c8e57872a9f879485bdf2433a926b4f668
4
+ data.tar.gz: 7affd4b6a58f93b73bfa66c8aea85c8064e14a0c74e692e8952223dfda8947a3
5
5
  SHA512:
6
- metadata.gz: 0aa658cbecc69ea43c1016287ebff0e3c5fe048f1ddde87580548a4ae475198e1a8637479007e4e5340d101d2b69a949dd6bccdf5065b10c3cad1f76459d575c
7
- data.tar.gz: a27dc61f747d7e777b45bbb707724eb58e7a73317403dab70b6eb590d8661cb14a05a7a1761d510fd8b6d41596845689c07abb98d71ba8be853b648c10bfb5f3
6
+ metadata.gz: 68da74cb1dac1f68810babc29ceef1ea51d5ef16db4f462d728feb904e2734aae58882cf8a2e945710ccdd796d0c2957a378a42e36b2d3aeb0a286dd52604eae
7
+ data.tar.gz: 16a91e8033143986d95d8857c66f2642640df6b8416ab7e88f0478668336447c95fbf30fda20a058656cea7936ae1b36d376f99ade14953b10e25faa458de4bb
data/.bundle/config CHANGED
@@ -1,4 +1,5 @@
1
1
  ---
2
2
  BUNDLE_JOBS: "3"
3
3
  BUNDLE_BIN: "bin"
4
- BUNDLE_RETRY: "3"
4
+ BUNDLE_RETRY: "3"
5
+ BUNDLE_PATH: "vendor/bundle"
data/.circleci/config.yml CHANGED
@@ -1,13 +1,14 @@
1
1
  version: 2.1
2
2
  orbs:
3
- ship: auth0/ship@0.4.0
3
+ ship: auth0/ship@dev:alpha
4
+ codecov: codecov/codecov@3
4
5
 
5
6
  matrix_ruby_versions: &matrix_ruby_versions
6
7
  matrix:
7
8
  parameters:
8
- ruby_version: ["2.5", "2.6", "2.7", "3.0"]
9
+ ruby_version: ["2.7", "3.0", "3.1"]
9
10
  # Default version of ruby to use for lint and publishing
10
- default_ruby_version: &default_ruby_version "2.7"
11
+ default_ruby_version: &default_ruby_version "3.1"
11
12
 
12
13
  executors:
13
14
  ruby-image:
@@ -29,7 +30,7 @@ jobs:
29
30
  ruby_version: << parameters.ruby_version >>
30
31
  steps:
31
32
  - checkout
32
- - run: gem install bundler:1.17.2
33
+ - run: gem install bundler:2.3.22
33
34
  - run: rm Gemfile.lock
34
35
  - restore_cache:
35
36
  key: gems-v2-{{ checksum "Gemfile.lock" }}
@@ -40,6 +41,7 @@ jobs:
40
41
  - vendor/bundle
41
42
  # Must define DOMAIN, CLIENT_ID, CLIENT_SECRET and MASTER_JWT env
42
43
  - run: bundle exec rake test
44
+ - codecov/upload
43
45
 
44
46
  workflows:
45
47
  tests:
@@ -0,0 +1,19 @@
1
+ # See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/ruby/.devcontainer/base.Dockerfile
2
+
3
+ # [Choice] Ruby version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.1, 3.0, 2, 2.7, 3-bullseye, 3.1-bullseye, 3.0-bullseye, 2-bullseye, 2.7-bullseye, 3-buster, 3.1-buster, 3.0-buster, 2-buster, 2.7-buster
4
+ ARG VARIANT="3.1-bullseye"
5
+ FROM mcr.microsoft.com/vscode/devcontainers/ruby:0-${VARIANT}
6
+
7
+ # [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
8
+ ARG NODE_VERSION="none"
9
+ RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
10
+
11
+ # [Optional] Uncomment this section to install additional OS packages.
12
+ # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
13
+ # && apt-get -y install --no-install-recommends <your-package-list-here>
14
+
15
+ # [Optional] Uncomment this line to install additional gems.
16
+ # RUN gem install <your-gem-names-here>
17
+
18
+ # [Optional] Uncomment this line to install global node packages.
19
+ # RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
@@ -0,0 +1,37 @@
1
+ // For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
2
+ // https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/ruby
3
+ {
4
+ "name": "Ruby",
5
+ "build": {
6
+ "dockerfile": "Dockerfile",
7
+ "args": {
8
+ // Update 'VARIANT' to pick a Ruby version: 3, 3.1, 3.0, 2, 2.7
9
+ // Append -bullseye or -buster to pin to an OS version.
10
+ // Use -bullseye variants on local on arm64/Apple Silicon.
11
+ "VARIANT": "3.1",
12
+ // Options
13
+ "NODE_VERSION": "lts/*"
14
+ }
15
+ },
16
+
17
+ // Configure tool-specific properties.
18
+ "customizations": {
19
+ // Configure properties specific to VS Code.
20
+ "vscode": {
21
+ // Add the IDs of extensions you want installed when the container is created.
22
+ "extensions": [
23
+ "rebornix.Ruby"
24
+ ]
25
+ }
26
+ },
27
+
28
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
29
+ // "forwardPorts": [],
30
+
31
+ // Use 'postCreateCommand' to run commands after the container is created.
32
+ // "postCreateCommand": "ruby --version",
33
+
34
+ // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
35
+ "remoteUser": "vscode"
36
+
37
+ }
data/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Change Log
2
2
 
3
+ ## [v5.10.0](https://github.com/auth0/ruby-auth0/tree/v5.10.0) (2022-10-10)
4
+ [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.9.0...v5.10.0)
5
+
6
+ **Changed**
7
+ - Update jwt ~2.5 [\#384](https://github.com/auth0/ruby-auth0/pull/384) ([stevehobbsdev](https://github.com/stevehobbsdev))
8
+
9
+ **Fixed**
10
+ - Stop :get, :delete parameters from bleeding into subsequent requests [\#388](https://github.com/auth0/ruby-auth0/pull/388) ([stevehobbsdev](https://github.com/stevehobbsdev))
11
+ - Support complex field names in export_users [\#387](https://github.com/auth0/ruby-auth0/pull/387) ([stevehobbsdev](https://github.com/stevehobbsdev))
12
+ - Reconfigure rate limiting exponential backoff [\#386](https://github.com/auth0/ruby-auth0/pull/386) ([stevehobbsdev](https://github.com/stevehobbsdev))
13
+
14
+ ## [v5.9.0](https://github.com/auth0/ruby-auth0/tree/v5.9.0) (2022-08-24)
15
+ [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.8.1...v5.9.0)
16
+
17
+ **Added**
18
+ - Add Delete All Authenticators API for Users [\#375](https://github.com/auth0/ruby-auth0/pull/375) ([phongnh](https://github.com/phongnh))
19
+
20
+ **Changed**
21
+ - Add include_totals to get connections options [\#357](https://github.com/auth0/ruby-auth0/pull/357) ([stevehobbsdev](https://github.com/stevehobbsdev))
22
+
23
+ **Fixed**
24
+ - Fix typo and remove param that is not used [\#365](https://github.com/auth0/ruby-auth0/pull/365) ([MatthewRDodds](https://github.com/MatthewRDodds))
25
+ - correct remove_user_roles doc: roles param is ids, not names [\#359](https://github.com/auth0/ruby-auth0/pull/359) ([gbirchmeier](https://github.com/gbirchmeier))
26
+
3
27
  ## [v5.8.1](https://github.com/auth0/ruby-auth0/tree/v5.8.1) (2022-06-30)
4
28
 
5
29
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.8.0...v5.8.1)
data/Gemfile CHANGED
@@ -14,7 +14,7 @@ end
14
14
  group :test do
15
15
  gem 'webmock', require: false
16
16
  gem 'vcr', require: false
17
- gem 'codecov', require: false
18
- gem 'simplecov'
17
+ gem 'simplecov-cobertura'
19
18
  gem 'timecop', require: false
19
+ gem 'pp'
20
20
  end
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- auth0 (5.8.1)
4
+ auth0 (5.10.0)
5
5
  addressable (~> 2.8)
6
- jwt (~> 2.3.0)
6
+ jwt (~> 2.5)
7
7
  rest-client (~> 2.1)
8
8
  retryable (~> 3.0)
9
9
  zache (~> 0.12)
@@ -11,30 +11,28 @@ PATH
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
- actionpack (7.0.3)
15
- actionview (= 7.0.3)
16
- activesupport (= 7.0.3)
14
+ actionpack (7.0.4)
15
+ actionview (= 7.0.4)
16
+ activesupport (= 7.0.4)
17
17
  rack (~> 2.0, >= 2.2.0)
18
18
  rack-test (>= 0.6.3)
19
19
  rails-dom-testing (~> 2.0)
20
20
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
21
- actionview (7.0.3)
22
- activesupport (= 7.0.3)
21
+ actionview (7.0.4)
22
+ activesupport (= 7.0.4)
23
23
  builder (~> 3.1)
24
24
  erubi (~> 1.4)
25
25
  rails-dom-testing (~> 2.0)
26
26
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
27
- activesupport (7.0.3)
27
+ activesupport (7.0.4)
28
28
  concurrent-ruby (~> 1.0, >= 1.0.2)
29
29
  i18n (>= 1.6, < 2)
30
30
  minitest (>= 5.1)
31
31
  tzinfo (~> 2.0)
32
- addressable (2.8.0)
33
- public_suffix (>= 2.0.2, < 5.0)
32
+ addressable (2.8.1)
33
+ public_suffix (>= 2.0.2, < 6.0)
34
34
  ast (2.4.2)
35
35
  builder (3.2.4)
36
- codecov (0.6.0)
37
- simplecov (>= 0.15, < 0.22)
38
36
  coderay (1.1.3)
39
37
  concurrent-ruby (1.1.10)
40
38
  coveralls (0.7.1)
@@ -50,77 +48,54 @@ GEM
50
48
  docile (1.4.0)
51
49
  domain_name (0.5.20190701)
52
50
  unf (>= 0.0.5, < 1.0.0)
53
- dotenv (2.7.6)
54
- dotenv-rails (2.7.6)
55
- dotenv (= 2.7.6)
51
+ dotenv (2.8.1)
52
+ dotenv-rails (2.8.1)
53
+ dotenv (= 2.8.1)
56
54
  railties (>= 3.2)
57
- erubi (1.10.0)
58
- faker (2.21.0)
55
+ erubi (1.11.0)
56
+ faker (2.23.0)
59
57
  i18n (>= 1.8.11, < 2)
60
- ffi (1.15.5)
61
- formatador (1.1.0)
62
58
  fuubar (2.5.1)
63
59
  rspec-core (~> 3.0)
64
60
  ruby-progressbar (~> 1.4)
65
61
  gem-release (0.7.4)
66
- guard (2.17.0)
67
- formatador (>= 0.2.4)
68
- listen (>= 2.7, < 4.0)
69
- lumberjack (>= 1.0.12, < 2.0)
70
- nenv (~> 0.1)
71
- notiffany (~> 0.0)
72
- pry (>= 0.9.12)
73
- shellany (~> 0.0)
74
- thor (>= 0.18.1)
75
- guard-compat (1.2.1)
76
- guard-rspec (4.7.3)
77
- guard (~> 2.1)
78
- guard-compat (~> 1.1)
79
- rspec (>= 2.99.0, < 4.0)
80
62
  hashdiff (1.0.1)
81
63
  http-accept (1.7.0)
82
64
  http-cookie (1.0.5)
83
65
  domain_name (~> 0.5)
84
- i18n (1.10.0)
66
+ i18n (1.12.0)
85
67
  concurrent-ruby (~> 1.0)
86
68
  io-console (0.5.11)
87
- irb (1.4.1)
69
+ irb (1.4.2)
88
70
  reline (>= 0.3.0)
89
71
  json (2.6.2)
90
- jwt (2.3.0)
91
- listen (3.7.1)
92
- rb-fsevent (~> 0.10, >= 0.10.3)
93
- rb-inotify (~> 0.9, >= 0.9.10)
94
- loofah (2.18.0)
72
+ jwt (2.5.0)
73
+ loofah (2.19.0)
95
74
  crass (~> 1.0.2)
96
75
  nokogiri (>= 1.5.9)
97
- lumberjack (1.2.8)
98
76
  method_source (0.9.2)
99
77
  mime-types (3.4.1)
100
78
  mime-types-data (~> 3.2015)
101
79
  mime-types-data (3.2022.0105)
102
- mini_portile2 (2.8.0)
103
- minitest (5.16.1)
80
+ minitest (5.16.3)
104
81
  multi_json (1.15.0)
105
- nenv (0.3.0)
106
82
  netrc (0.11.0)
107
- nokogiri (1.13.6)
108
- mini_portile2 (~> 2.8.0)
83
+ nokogiri (1.13.8-x86_64-linux)
109
84
  racc (~> 1.4)
110
- notiffany (0.1.3)
111
- nenv (~> 0.1)
112
- shellany (~> 0.0)
113
85
  parallel (1.22.1)
114
- parser (3.1.2.0)
86
+ parser (3.1.2.1)
115
87
  ast (~> 2.4.1)
88
+ pp (0.3.0)
89
+ prettyprint
90
+ prettyprint (0.1.1)
116
91
  pry (0.12.2)
117
92
  coderay (~> 1.1.0)
118
93
  method_source (~> 0.9.0)
119
94
  pry-nav (0.3.0)
120
95
  pry (>= 0.9.10, < 0.13.0)
121
- public_suffix (4.0.7)
96
+ public_suffix (5.0.0)
122
97
  racc (1.6.0)
123
- rack (2.2.3.1)
98
+ rack (2.2.4)
124
99
  rack-test (0.8.3)
125
100
  rack (>= 1.0, < 3)
126
101
  rails-dom-testing (2.0.3)
@@ -128,19 +103,16 @@ GEM
128
103
  nokogiri (>= 1.6)
129
104
  rails-html-sanitizer (1.4.3)
130
105
  loofah (~> 2.3)
131
- railties (7.0.3)
132
- actionpack (= 7.0.3)
133
- activesupport (= 7.0.3)
106
+ railties (7.0.4)
107
+ actionpack (= 7.0.4)
108
+ activesupport (= 7.0.4)
134
109
  method_source
135
110
  rake (>= 12.2)
136
111
  thor (~> 1.0)
137
112
  zeitwerk (~> 2.5)
138
113
  rainbow (3.1.1)
139
114
  rake (13.0.6)
140
- rb-fsevent (0.11.1)
141
- rb-inotify (0.10.1)
142
- ffi (~> 1.0)
143
- regexp_parser (2.5.0)
115
+ regexp_parser (2.6.0)
144
116
  reline (0.3.1)
145
117
  io-console (~> 0.5)
146
118
  rest-client (2.1.0)
@@ -156,86 +128,86 @@ GEM
156
128
  rspec-mocks (~> 3.11.0)
157
129
  rspec-core (3.11.0)
158
130
  rspec-support (~> 3.11.0)
159
- rspec-expectations (3.11.0)
131
+ rspec-expectations (3.11.1)
160
132
  diff-lcs (>= 1.2.0, < 2.0)
161
133
  rspec-support (~> 3.11.0)
162
134
  rspec-mocks (3.11.1)
163
135
  diff-lcs (>= 1.2.0, < 2.0)
164
136
  rspec-support (~> 3.11.0)
165
- rspec-support (3.11.0)
166
- rubocop (1.31.1)
137
+ rspec-support (3.11.1)
138
+ rubocop (1.36.0)
167
139
  json (~> 2.3)
168
140
  parallel (~> 1.10)
169
- parser (>= 3.1.0.0)
141
+ parser (>= 3.1.2.1)
170
142
  rainbow (>= 2.2.2, < 4.0)
171
143
  regexp_parser (>= 1.8, < 3.0)
172
144
  rexml (>= 3.2.5, < 4.0)
173
- rubocop-ast (>= 1.18.0, < 2.0)
145
+ rubocop-ast (>= 1.20.1, < 2.0)
174
146
  ruby-progressbar (~> 1.7)
175
147
  unicode-display_width (>= 1.4.0, < 3.0)
176
- rubocop-ast (1.18.0)
148
+ rubocop-ast (1.21.0)
177
149
  parser (>= 3.1.1.0)
178
- rubocop-rails (2.15.1)
150
+ rubocop-rails (2.16.1)
179
151
  activesupport (>= 4.2.0)
180
152
  rack (>= 1.1)
181
- rubocop (>= 1.7.0, < 2.0)
153
+ rubocop (>= 1.33.0, < 2.0)
182
154
  ruby-progressbar (1.11.0)
183
- shellany (0.0.1)
184
155
  simplecov (0.21.2)
185
156
  docile (~> 1.1)
186
157
  simplecov-html (~> 0.11)
187
158
  simplecov_json_formatter (~> 0.1)
159
+ simplecov-cobertura (2.1.0)
160
+ rexml
161
+ simplecov (~> 0.19)
188
162
  simplecov-html (0.12.3)
189
163
  simplecov_json_formatter (0.1.4)
190
164
  sync (0.5.0)
191
165
  term-ansicolor (1.7.1)
192
166
  tins (~> 1.0)
193
- terminal-notifier-guard (1.7.0)
194
167
  thor (1.2.1)
195
168
  timecop (0.9.5)
196
169
  tins (1.31.1)
197
170
  sync
198
- tzinfo (2.0.4)
171
+ tzinfo (2.0.5)
199
172
  concurrent-ruby (~> 1.0)
200
173
  unf (0.1.4)
201
174
  unf_ext
202
175
  unf_ext (0.0.8.2)
203
- unicode-display_width (2.2.0)
176
+ unicode-display_width (2.3.0)
204
177
  vcr (6.1.0)
205
- webmock (3.14.0)
178
+ webmock (3.18.1)
206
179
  addressable (>= 2.8.0)
207
180
  crack (>= 0.3.2)
208
181
  hashdiff (>= 0.4.0, < 2.0.0)
209
182
  zache (0.12.0)
210
- zeitwerk (2.6.0)
183
+ zeitwerk (2.6.1)
211
184
 
212
185
  PLATFORMS
213
- ruby
186
+ x86_64-linux
214
187
 
215
188
  DEPENDENCIES
216
189
  auth0!
217
190
  bundler
218
- codecov
219
191
  coveralls
220
192
  dotenv-rails (~> 2.0)
221
193
  faker (~> 2.0)
222
194
  fuubar (~> 2.0)
223
195
  gem-release (~> 0.7)
224
- guard-rspec (~> 4.5)
225
196
  irb
197
+ pp
226
198
  pry (~> 0.10)
227
199
  pry-nav (~> 0.2)
228
200
  rack (~> 2.1)
229
201
  rack-test (~> 0.6)
230
202
  rake (~> 13.0)
231
- rspec (~> 3.5)
203
+ rspec (~> 3.11)
232
204
  rubocop
233
205
  rubocop-rails
234
- simplecov
235
- terminal-notifier-guard
206
+ simplecov (~> 0.9)
207
+ simplecov-cobertura
236
208
  timecop
237
209
  vcr
238
210
  webmock
239
211
 
240
212
  BUNDLED WITH
241
- 1.17.2
213
+ 2.3.11
data/auth0.gemspec CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.require_paths = ['lib']
18
18
 
19
19
  s.add_runtime_dependency 'rest-client', '~> 2.1'
20
- s.add_runtime_dependency 'jwt', '~> 2.3.0'
20
+ s.add_runtime_dependency 'jwt', '~> 2.5'
21
21
  s.add_runtime_dependency 'zache', '~> 0.12'
22
22
  s.add_runtime_dependency 'addressable', '~> 2.8'
23
23
  s.add_runtime_dependency 'retryable', '~> 3.0'
@@ -29,7 +29,7 @@ Gem::Specification.new do |s|
29
29
  s.add_development_dependency 'dotenv-rails', '~> 2.0'
30
30
  s.add_development_dependency 'pry', '~> 0.10'
31
31
  s.add_development_dependency 'pry-nav', '~> 0.2'
32
- s.add_development_dependency 'rspec', '~> 3.5'
32
+ s.add_development_dependency 'rspec', '~> 3.11'
33
33
  s.add_development_dependency 'rack-test', '~> 0.6'
34
34
  s.add_development_dependency 'rack', '~> 2.1'
35
35
  s.add_development_dependency 'simplecov', '~> 0.9'
@@ -3,6 +3,7 @@
3
3
  source 'http://rubygems.org'
4
4
 
5
5
  # gem "rails"
6
- gem 'sinatra', '~> 1.4'
7
- gem 'jwt', '~> 1.5'
6
+ gem 'sinatra', '~> 2.2'
7
+ gem 'jwt', '~> 2.5'
8
8
  gem 'dotenv'
9
+ gem 'puma'
@@ -0,0 +1,32 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ dotenv (2.8.1)
5
+ jwt (2.5.0)
6
+ mustermann (2.0.2)
7
+ ruby2_keywords (~> 0.0.1)
8
+ nio4r (2.5.8)
9
+ puma (5.6.5)
10
+ nio4r (~> 2.0)
11
+ rack (2.2.4)
12
+ rack-protection (2.2.2)
13
+ rack
14
+ ruby2_keywords (0.0.5)
15
+ sinatra (2.2.2)
16
+ mustermann (~> 2.0)
17
+ rack (~> 2.2)
18
+ rack-protection (= 2.2.2)
19
+ tilt (~> 2.0)
20
+ tilt (2.0.11)
21
+
22
+ PLATFORMS
23
+ aarch64-linux
24
+
25
+ DEPENDENCIES
26
+ dotenv
27
+ jwt (~> 2.5)
28
+ puma
29
+ sinatra (~> 2.2)
30
+
31
+ BUNDLED WITH
32
+ 2.3.7
@@ -1,8 +1,8 @@
1
- #Auth0 + Ruby API Seed
1
+ # Auth0 + Ruby API Seed
2
2
 
3
3
  This is the seed project you need to use if you're going to create a Ruby API. You'll mostly use this API either for a SPA or a Mobile app.
4
4
 
5
- #Running the example
5
+ # Running the example
6
6
 
7
7
  In order to run the example you need to have ruby installed.
8
8
 
@@ -170,8 +170,6 @@ module Auth0
170
170
  # @see https://auth0.com/docs/api/authentication#change-password
171
171
  # @see https://auth0.com/docs/connections/database/password-change
172
172
  # @param email [string] User's current email
173
- # @param password [string] User's new password; empty to trigger a
174
- # password reset email
175
173
  # @param connection_name [string] Database connection name
176
174
  # @param client_id [string] Client ID override (to allow forwarding
177
175
  # to a different application's login URI on password reset success page)
@@ -14,6 +14,7 @@ module Auth0
14
14
  # @param include_fields [boolean] True if the fields specified are to be included in the result, false otherwise.
15
15
  # @param page [int] Page number to get, 0-based.
16
16
  # @param per_page [int] Results per page if also passing a page number.
17
+ # @param include_totals [boolean] True if query totals should be included in the result. Defaults to false.
17
18
  # @return [json] Returns the existing connections matching the strategy.
18
19
  def connections(
19
20
  strategy: nil,
@@ -21,7 +22,8 @@ module Auth0
21
22
  fields: nil,
22
23
  include_fields: nil,
23
24
  page: nil,
24
- per_page: nil
25
+ per_page: nil,
26
+ include_totals: nil
25
27
  )
26
28
  include_fields = true if !fields.nil? && include_fields.nil?
27
29
  request_params = {
@@ -30,7 +32,8 @@ module Auth0
30
32
  fields: fields.is_a?(Array) ? fields.join(',') : fields,
31
33
  include_fields: include_fields,
32
34
  page: !page.nil? ? page.to_i : nil,
33
- per_page: !page.nil? && !per_page.nil? ? per_page.to_i : nil
35
+ per_page: !page.nil? && !per_page.nil? ? per_page.to_i : nil,
36
+ include_totals: include_totals
34
37
  }
35
38
  get(connections_path, request_params)
36
39
  end
@@ -38,7 +41,7 @@ module Auth0
38
41
 
39
42
  # Creates a new connection according to the JSON object received in body.
40
43
  # @see https://auth0.com/docs/api/v2#!/Connections/post_connections
41
- # @param body [hash] The Hash options used to define the conecctions's properties.
44
+ # @param body [hash] The Hash options used to define the connections's properties.
42
45
  #
43
46
  # @return [json] Returns the created connection.
44
47
  def create_connection(body)
@@ -1,7 +1,7 @@
1
1
  module Auth0
2
2
  module Api
3
3
  module V2
4
- # Methods to use the device crenditials endpoints
4
+ # Methods to use the device credentials endpoints
5
5
  module DeviceCredentials
6
6
  attr_reader :device_credentials_path
7
7
 
@@ -60,6 +60,9 @@ module Auth0
60
60
  # :format [string] The format of the file. Valid values are: "json" and "csv".
61
61
  # :limit [integer] Limit the number of users to export.
62
62
  # :fields [array] A list of fields to be included in the CSV.
63
+ # This can either be an array of strings representing field names, or an object.
64
+ # If it's a string, it is mapped to the correct { name: '<field name>' } object required by the endpoint.
65
+ # If it's an object, it is passed through as-is to the endpoint.
63
66
  # If omitted, a set of predefined fields will be exported.
64
67
  #
65
68
  # @return [json] Returns the job status and properties.
@@ -109,14 +112,22 @@ module Auth0
109
112
  @jobs_path ||= '/api/v2/jobs'
110
113
  end
111
114
 
112
- # Map array of field names for export to array of objects
113
- # @param fields [array] Field names to be included in the export
114
-
115
+ # Map array of fields for export to array of objects
116
+ # @param fields [array] Fields to be included in the export
117
+ # This can either be an array of strings representing field names, or an object.
118
+ # If it's a string, it is mapped to the correct { name: '<field name>' } object required by the endpoint.
119
+ # If it's an object, it is passed through as-is to the endpoint.
115
120
  # @return [array] Returns the fields mapped as array of objects for the export_users endpoint
116
121
  def fields_for_export(fields)
117
122
  return nil if fields.to_s.empty?
118
123
 
119
- fields.map { |field| { name: field } }
124
+ fields.map { |field|
125
+ if field.is_a? String
126
+ { name: field }
127
+ else
128
+ field
129
+ end
130
+ }
120
131
  end
121
132
  end
122
133
  end
@@ -9,7 +9,7 @@ module Auth0
9
9
 
10
10
  # Get all organizations.
11
11
  # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_organizations
12
- # @param options [hash] The Hash options used to define the paging of rersults
12
+ # @param options [hash] The Hash options used to define the paging of results
13
13
  # * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100.
14
14
  # * :page [integer] The page number. Zero based.
15
15
  # * :from [string] For checkpoint pagination, the ID from which to start selection from.
@@ -111,6 +111,15 @@ module Auth0
111
111
  end
112
112
  alias update_user patch_user
113
113
 
114
+ # Delete all authenticators
115
+ # @see https://auth0.com/docs/api/management/v2#!/Users/delete_authenticators
116
+ # @param user_id [string] The user_id of the user to delete all authenticators
117
+ def delete_user_authenticators(user_id)
118
+ raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty?
119
+ path = "#{users_path}/#{user_id}/authenticators"
120
+ delete(path)
121
+ end
122
+
114
123
  # Delete a user's multifactor provider
115
124
  # @see https://auth0.com/docs/api/v2#!/Users/delete_multifactor_by_provider
116
125
  # @param user_id [string] The user_id of the user to delete the multifactor provider from.
@@ -215,7 +224,7 @@ module Auth0
215
224
  # @see https://auth0.com/docs/api/management/v2#!/Users/delete_user_roles
216
225
  #
217
226
  # @param user_id [string] The user_id of the roles to remove.
218
- # @param roles [array] An array of role names to remove.
227
+ # @param roles [array] An array of role ids to remove.
219
228
  def remove_user_roles(user_id, roles)
220
229
  raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty?
221
230
  validate_strings_array roles