auth0 4.0.0 → 4.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 (145) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +2 -1
  4. data/.rubocop_todo.yml +0 -2
  5. data/.travis.yml +4 -2
  6. data/CHANGELOG.md +40 -38
  7. data/DEPLOYMENT.md +5 -0
  8. data/Gemfile +1 -1
  9. data/README.md +20 -2
  10. data/Rakefile +1 -1
  11. data/auth0.gemspec +4 -3
  12. data/doc_config/templates/default/layout/html/footer.erb +1 -1
  13. data/examples/ruby-api/.gitignore +86 -0
  14. data/examples/ruby-api/Gemfile +8 -0
  15. data/examples/ruby-api/README.md +24 -0
  16. data/examples/ruby-api/config.ru +2 -0
  17. data/examples/ruby-api/main.rb +33 -0
  18. data/examples/ruby-on-rails-api/.gitignore +18 -0
  19. data/examples/ruby-on-rails-api/Gemfile +48 -0
  20. data/examples/ruby-on-rails-api/README.md +27 -0
  21. data/examples/ruby-on-rails-api/Rakefile +6 -0
  22. data/examples/ruby-on-rails-api/app/assets/images/.keep +0 -0
  23. data/examples/ruby-on-rails-api/app/assets/javascripts/application.js +16 -0
  24. data/examples/ruby-on-rails-api/app/assets/stylesheets/application.css +15 -0
  25. data/examples/ruby-on-rails-api/app/controllers/application_controller.rb +8 -0
  26. data/examples/ruby-on-rails-api/app/controllers/concerns/.keep +0 -0
  27. data/examples/ruby-on-rails-api/app/controllers/ping_controller.rb +6 -0
  28. data/examples/ruby-on-rails-api/app/controllers/secured_ping_controller.rb +11 -0
  29. data/examples/ruby-on-rails-api/app/helpers/application_helper.rb +3 -0
  30. data/examples/ruby-on-rails-api/app/mailers/.keep +0 -0
  31. data/examples/ruby-on-rails-api/app/models/.keep +0 -0
  32. data/examples/ruby-on-rails-api/app/models/concerns/.keep +0 -0
  33. data/examples/ruby-on-rails-api/app/views/layouts/application.html.erb +14 -0
  34. data/examples/ruby-on-rails-api/bin/bundle +3 -0
  35. data/examples/ruby-on-rails-api/bin/rails +4 -0
  36. data/examples/ruby-on-rails-api/bin/rake +4 -0
  37. data/examples/ruby-on-rails-api/bin/setup +29 -0
  38. data/examples/ruby-on-rails-api/config.ru +4 -0
  39. data/examples/ruby-on-rails-api/config/application.rb +23 -0
  40. data/examples/ruby-on-rails-api/config/boot.rb +4 -0
  41. data/examples/ruby-on-rails-api/config/database.yml +27 -0
  42. data/examples/ruby-on-rails-api/config/environment.rb +5 -0
  43. data/examples/ruby-on-rails-api/config/environments/development.rb +37 -0
  44. data/examples/ruby-on-rails-api/config/environments/production.rb +83 -0
  45. data/examples/ruby-on-rails-api/config/environments/test.rb +41 -0
  46. data/examples/ruby-on-rails-api/config/initializers/backtrace_silencers.rb +7 -0
  47. data/examples/ruby-on-rails-api/config/initializers/cookies_serializer.rb +3 -0
  48. data/examples/ruby-on-rails-api/config/initializers/dotenv.rb +4 -0
  49. data/examples/ruby-on-rails-api/config/initializers/filter_parameter_logging.rb +4 -0
  50. data/examples/ruby-on-rails-api/config/initializers/inflections.rb +16 -0
  51. data/examples/ruby-on-rails-api/config/initializers/knock.rb +53 -0
  52. data/examples/ruby-on-rails-api/config/initializers/mime_types.rb +4 -0
  53. data/examples/ruby-on-rails-api/config/initializers/session_store.rb +3 -0
  54. data/examples/ruby-on-rails-api/config/initializers/wrap_parameters.rb +14 -0
  55. data/examples/ruby-on-rails-api/config/locales/en.yml +23 -0
  56. data/examples/ruby-on-rails-api/config/routes.rb +58 -0
  57. data/examples/ruby-on-rails-api/config/secrets.yml +28 -0
  58. data/examples/ruby-on-rails-api/db/schema.rb +15 -0
  59. data/examples/ruby-on-rails-api/db/seeds.rb +7 -0
  60. data/examples/ruby-on-rails-api/lib/assets/.keep +0 -0
  61. data/examples/ruby-on-rails-api/lib/tasks/.keep +0 -0
  62. data/examples/ruby-on-rails-api/log/.keep +0 -0
  63. data/examples/ruby-on-rails-api/public/404.html +67 -0
  64. data/examples/ruby-on-rails-api/public/422.html +67 -0
  65. data/examples/ruby-on-rails-api/public/500.html +66 -0
  66. data/examples/ruby-on-rails-api/public/favicon.ico +0 -0
  67. data/examples/ruby-on-rails-api/public/robots.txt +5 -0
  68. data/examples/ruby-on-rails-api/test/controllers/.keep +0 -0
  69. data/examples/ruby-on-rails-api/test/fixtures/.keep +0 -0
  70. data/examples/ruby-on-rails-api/test/helpers/.keep +0 -0
  71. data/examples/ruby-on-rails-api/test/integration/.keep +0 -0
  72. data/examples/ruby-on-rails-api/test/mailers/.keep +0 -0
  73. data/examples/ruby-on-rails-api/test/models/.keep +0 -0
  74. data/examples/ruby-on-rails-api/test/ping_controller_test.rb +8 -0
  75. data/examples/ruby-on-rails-api/test/secured_ping_controller_test.rb +26 -0
  76. data/examples/ruby-on-rails-api/test/test_helper.rb +16 -0
  77. data/lib/auth0/api/authentication_endpoints.rb +59 -30
  78. data/lib/auth0/api/v1/clients.rb +1 -1
  79. data/lib/auth0/api/v1/connections.rb +4 -3
  80. data/lib/auth0/api/v1/logs.rb +1 -1
  81. data/lib/auth0/api/v1/rules.rb +1 -1
  82. data/lib/auth0/api/v1/users.rb +5 -5
  83. data/lib/auth0/api/v2.rb +10 -0
  84. data/lib/auth0/api/v2/blacklists.rb +1 -1
  85. data/lib/auth0/api/v2/client_grants.rb +57 -0
  86. data/lib/auth0/api/v2/clients.rb +14 -14
  87. data/lib/auth0/api/v2/connections.rb +19 -20
  88. data/lib/auth0/api/v2/device_credentials.rb +76 -0
  89. data/lib/auth0/api/v2/emails.rb +5 -7
  90. data/lib/auth0/api/v2/jobs.rb +15 -12
  91. data/lib/auth0/api/v2/logs.rb +65 -0
  92. data/lib/auth0/api/v2/resource_servers.rb +61 -0
  93. data/lib/auth0/api/v2/rules.rb +21 -20
  94. data/lib/auth0/api/v2/stats.rb +2 -2
  95. data/lib/auth0/api/v2/tenants.rb +6 -4
  96. data/lib/auth0/api/v2/tickets.rb +13 -14
  97. data/lib/auth0/api/v2/user_blocks.rb +62 -0
  98. data/lib/auth0/api/v2/users.rb +63 -32
  99. data/lib/auth0/client.rb +0 -2
  100. data/lib/auth0/mixins.rb +4 -3
  101. data/lib/auth0/mixins/httpproxy.rb +55 -0
  102. data/lib/auth0/mixins/initializer.rb +27 -10
  103. data/lib/auth0/version.rb +1 -1
  104. data/spec/integration/lib/auth0/api/api_authentication_spec.rb +118 -0
  105. data/spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb +1 -1
  106. data/spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb +53 -0
  107. data/spec/integration/lib/auth0/api/v2/api_clients_spec.rb +5 -2
  108. data/spec/integration/lib/auth0/api/v2/api_connections_spec.rb +8 -5
  109. data/spec/integration/lib/auth0/api/v2/api_device_credentials_spec.rb +67 -0
  110. data/spec/integration/lib/auth0/api/v2/api_email_spec.rb +15 -8
  111. data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +11 -9
  112. data/spec/integration/lib/auth0/api/v2/api_logs_spec.rb +69 -0
  113. data/spec/integration/lib/auth0/api/v2/api_resource_servers_spec.rb +47 -0
  114. data/spec/integration/lib/auth0/api/v2/api_rules_spec.rb +2 -1
  115. data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +2 -2
  116. data/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb +73 -0
  117. data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +32 -5
  118. data/spec/integration/lib/auth0/auth0_client_spec.rb +14 -11
  119. data/spec/lib/auth0/api/authentication_endpoints_spec.rb +116 -56
  120. data/spec/lib/auth0/api/v1/connections_spec.rb +2 -4
  121. data/spec/lib/auth0/api/v1/rules_spec.rb +2 -1
  122. data/spec/lib/auth0/api/v1/users_spec.rb +17 -9
  123. data/spec/lib/auth0/api/v2/client_grants_spec.rb +44 -0
  124. data/spec/lib/auth0/api/v2/connections_spec.rb +2 -1
  125. data/spec/lib/auth0/api/v2/device_credentials_spec.rb +73 -0
  126. data/spec/lib/auth0/api/v2/jobs_spec.rb +3 -2
  127. data/spec/lib/auth0/api/v2/logs_spec.rb +48 -0
  128. data/spec/lib/auth0/api/v2/resource_servers_spec.rb +63 -0
  129. data/spec/lib/auth0/api/v2/rules_spec.rb +8 -4
  130. data/spec/lib/auth0/api/v2/tenants_spec.rb +2 -1
  131. data/spec/lib/auth0/api/v2/tickets_spec.rb +4 -7
  132. data/spec/lib/auth0/api/v2/user_blocks_spec.rb +52 -0
  133. data/spec/lib/auth0/api/v2/users_spec.rb +39 -6
  134. data/spec/lib/auth0/client_spec.rb +8 -5
  135. data/spec/lib/auth0/mixins/httpproxy_spec.rb +225 -0
  136. data/spec/lib/auth0/mixins/initializer_spec.rb +1 -1
  137. data/spec/spec_helper_full.rb +12 -3
  138. data/spec/spec_helper_unit.rb +2 -2
  139. data/spec/support/credentials.rb +6 -4
  140. data/spec/support/dummy_class.rb +2 -1
  141. data/spec/support/dummy_class_for_proxy.rb +2 -2
  142. data/spec/support/dummy_class_for_restclient.rb +2 -0
  143. metadata +117 -9
  144. data/lib/auth0/mixins/httparty_proxy.rb +0 -38
  145. data/spec/lib/auth0/mixins/httparty_proxy_spec.rb +0 -148
@@ -4,8 +4,8 @@ require 'rspec'
4
4
  require 'rack/test'
5
5
  require 'faker'
6
6
  require 'auth0'
7
- Dir[('./lib/**/*.rb')].each { |f| require f }
8
- Dir[('./spec/support/**/*.rb')].each { |f| require f }
7
+ Dir['./lib/**/*.rb'].each { |f| require f }
8
+ Dir['./spec/support/**/*.rb'].each { |f| require f }
9
9
  RSpec.configure do |config|
10
10
  config.include Rack::Test::Methods
11
11
  config.fail_fast = true
@@ -2,18 +2,20 @@ module Credentials
2
2
  def v1_creds
3
3
  { client_id: ENV['CLIENT_ID'],
4
4
  client_secret: ENV['CLIENT_SECRET'],
5
- domain: ENV['DOMAIN'] }
5
+ domain: ENV['DOMAIN'],
6
+ api_version: 1 }
6
7
  end
7
8
 
8
9
  def v1_global_creds
9
10
  { client_id: ENV['GLOBAL_CLIENT_ID'],
10
11
  client_secret: ENV['GLOBAL_CLIENT_SECRET'],
11
- domain: ENV['DOMAIN'] }
12
+ domain: ENV['DOMAIN'],
13
+ api_version: 1 }
12
14
  end
13
15
 
14
16
  def v2_creds
15
- { token: ENV['MASTER_JWT'],
16
- api_version: 2,
17
+ { client_id: ENV['CLIENT_ID'],
18
+ token: ENV['MASTER_JWT'],
17
19
  domain: ENV['DOMAIN'] }
18
20
  end
19
21
  end
@@ -1,8 +1,9 @@
1
1
  class DummyClass
2
- attr_reader :domain
2
+ attr_reader :domain, :client_id
3
3
 
4
4
  def initialize
5
5
  @domain = 'test.auth0.com'
6
+ @client_id = 'NyW50o8Qt8I1VhMVlTlfVwWLGzBIPuxb'
6
7
  end
7
8
 
8
9
  %i(get post put patch delete).each do |method|
@@ -1,4 +1,4 @@
1
1
  class DummyClassForProxy
2
- include HTTMultiParty
3
- base_uri 'http://auth0.com'
2
+ include Auth0::Mixins::HTTPProxy
3
+ @base_uri = 'http://auth0.com'
4
4
  end
@@ -0,0 +1,2 @@
1
+ class DummyClassForRestClient < RestClient::Exception
2
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: auth0
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Auth0
@@ -11,22 +11,22 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-02-24 00:00:00.000000000 Z
14
+ date: 2016-07-25 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: httmultiparty
17
+ name: rest-client
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
20
  - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: 0.3.16
22
+ version: 1.8.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 0.3.16
29
+ version: 1.8.0
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rake
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -145,6 +145,20 @@ dependencies:
145
145
  - - ~>
146
146
  - !ruby/object:Gem::Version
147
147
  version: '0.6'
148
+ - !ruby/object:Gem::Dependency
149
+ name: rack
150
+ requirement: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ~>
153
+ - !ruby/object:Gem::Version
154
+ version: 1.6.4
155
+ type: :development
156
+ prerelease: false
157
+ version_requirements: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - ~>
160
+ - !ruby/object:Gem::Version
161
+ version: 1.6.4
148
162
  - !ruby/object:Gem::Dependency
149
163
  name: simplecov
150
164
  requirement: !ruby/object:Gem::Requirement
@@ -201,7 +215,7 @@ dependencies:
201
215
  - - ~>
202
216
  - !ruby/object:Gem::Version
203
217
  version: '0.7'
204
- description: Ruby client library for the Auth0 API.
218
+ description: Ruby toolkit for Auth0 API https://auth0.com.
205
219
  email:
206
220
  - support@auth0.com
207
221
  executables: []
@@ -216,6 +230,7 @@ files:
216
230
  - .rubocop_todo.yml
217
231
  - .travis.yml
218
232
  - CHANGELOG.md
233
+ - DEPLOYMENT.md
219
234
  - Gemfile
220
235
  - Guardfile
221
236
  - LICENSE
@@ -230,6 +245,70 @@ files:
230
245
  - doc_config/templates/default/layout/html/footer.erb
231
246
  - doc_config/templates/default/layout/html/headers.erb
232
247
  - doc_config/templates/default/layout/html/layout.erb
248
+ - examples/ruby-api/.gitignore
249
+ - examples/ruby-api/Gemfile
250
+ - examples/ruby-api/README.md
251
+ - examples/ruby-api/config.ru
252
+ - examples/ruby-api/main.rb
253
+ - examples/ruby-on-rails-api/.gitignore
254
+ - examples/ruby-on-rails-api/Gemfile
255
+ - examples/ruby-on-rails-api/README.md
256
+ - examples/ruby-on-rails-api/Rakefile
257
+ - examples/ruby-on-rails-api/app/assets/images/.keep
258
+ - examples/ruby-on-rails-api/app/assets/javascripts/application.js
259
+ - examples/ruby-on-rails-api/app/assets/stylesheets/application.css
260
+ - examples/ruby-on-rails-api/app/controllers/application_controller.rb
261
+ - examples/ruby-on-rails-api/app/controllers/concerns/.keep
262
+ - examples/ruby-on-rails-api/app/controllers/ping_controller.rb
263
+ - examples/ruby-on-rails-api/app/controllers/secured_ping_controller.rb
264
+ - examples/ruby-on-rails-api/app/helpers/application_helper.rb
265
+ - examples/ruby-on-rails-api/app/mailers/.keep
266
+ - examples/ruby-on-rails-api/app/models/.keep
267
+ - examples/ruby-on-rails-api/app/models/concerns/.keep
268
+ - examples/ruby-on-rails-api/app/views/layouts/application.html.erb
269
+ - examples/ruby-on-rails-api/bin/bundle
270
+ - examples/ruby-on-rails-api/bin/rails
271
+ - examples/ruby-on-rails-api/bin/rake
272
+ - examples/ruby-on-rails-api/bin/setup
273
+ - examples/ruby-on-rails-api/config.ru
274
+ - examples/ruby-on-rails-api/config/application.rb
275
+ - examples/ruby-on-rails-api/config/boot.rb
276
+ - examples/ruby-on-rails-api/config/database.yml
277
+ - examples/ruby-on-rails-api/config/environment.rb
278
+ - examples/ruby-on-rails-api/config/environments/development.rb
279
+ - examples/ruby-on-rails-api/config/environments/production.rb
280
+ - examples/ruby-on-rails-api/config/environments/test.rb
281
+ - examples/ruby-on-rails-api/config/initializers/backtrace_silencers.rb
282
+ - examples/ruby-on-rails-api/config/initializers/cookies_serializer.rb
283
+ - examples/ruby-on-rails-api/config/initializers/dotenv.rb
284
+ - examples/ruby-on-rails-api/config/initializers/filter_parameter_logging.rb
285
+ - examples/ruby-on-rails-api/config/initializers/inflections.rb
286
+ - examples/ruby-on-rails-api/config/initializers/knock.rb
287
+ - examples/ruby-on-rails-api/config/initializers/mime_types.rb
288
+ - examples/ruby-on-rails-api/config/initializers/session_store.rb
289
+ - examples/ruby-on-rails-api/config/initializers/wrap_parameters.rb
290
+ - examples/ruby-on-rails-api/config/locales/en.yml
291
+ - examples/ruby-on-rails-api/config/routes.rb
292
+ - examples/ruby-on-rails-api/config/secrets.yml
293
+ - examples/ruby-on-rails-api/db/schema.rb
294
+ - examples/ruby-on-rails-api/db/seeds.rb
295
+ - examples/ruby-on-rails-api/lib/assets/.keep
296
+ - examples/ruby-on-rails-api/lib/tasks/.keep
297
+ - examples/ruby-on-rails-api/log/.keep
298
+ - examples/ruby-on-rails-api/public/404.html
299
+ - examples/ruby-on-rails-api/public/422.html
300
+ - examples/ruby-on-rails-api/public/500.html
301
+ - examples/ruby-on-rails-api/public/favicon.ico
302
+ - examples/ruby-on-rails-api/public/robots.txt
303
+ - examples/ruby-on-rails-api/test/controllers/.keep
304
+ - examples/ruby-on-rails-api/test/fixtures/.keep
305
+ - examples/ruby-on-rails-api/test/helpers/.keep
306
+ - examples/ruby-on-rails-api/test/integration/.keep
307
+ - examples/ruby-on-rails-api/test/mailers/.keep
308
+ - examples/ruby-on-rails-api/test/models/.keep
309
+ - examples/ruby-on-rails-api/test/ping_controller_test.rb
310
+ - examples/ruby-on-rails-api/test/secured_ping_controller_test.rb
311
+ - examples/ruby-on-rails-api/test/test_helper.rb
233
312
  - lib/auth0.rb
234
313
  - lib/auth0/api/authentication_endpoints.rb
235
314
  - lib/auth0/api/v1.rb
@@ -240,33 +319,44 @@ files:
240
319
  - lib/auth0/api/v1/users.rb
241
320
  - lib/auth0/api/v2.rb
242
321
  - lib/auth0/api/v2/blacklists.rb
322
+ - lib/auth0/api/v2/client_grants.rb
243
323
  - lib/auth0/api/v2/clients.rb
244
324
  - lib/auth0/api/v2/connections.rb
325
+ - lib/auth0/api/v2/device_credentials.rb
245
326
  - lib/auth0/api/v2/emails.rb
246
327
  - lib/auth0/api/v2/jobs.rb
328
+ - lib/auth0/api/v2/logs.rb
329
+ - lib/auth0/api/v2/resource_servers.rb
247
330
  - lib/auth0/api/v2/rules.rb
248
331
  - lib/auth0/api/v2/stats.rb
249
332
  - lib/auth0/api/v2/tenants.rb
250
333
  - lib/auth0/api/v2/tickets.rb
334
+ - lib/auth0/api/v2/user_blocks.rb
251
335
  - lib/auth0/api/v2/users.rb
252
336
  - lib/auth0/client.rb
253
337
  - lib/auth0/exception.rb
254
338
  - lib/auth0/mixins.rb
255
- - lib/auth0/mixins/httparty_proxy.rb
339
+ - lib/auth0/mixins/httpproxy.rb
256
340
  - lib/auth0/mixins/initializer.rb
257
341
  - lib/auth0/version.rb
258
342
  - lib/auth0_client.rb
343
+ - spec/integration/lib/auth0/api/api_authentication_spec.rb
259
344
  - spec/integration/lib/auth0/api/v1/api_clients_spec.rb
260
345
  - spec/integration/lib/auth0/api/v1/api_users_spec.rb
261
346
  - spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb
347
+ - spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb
262
348
  - spec/integration/lib/auth0/api/v2/api_clients_spec.rb
263
349
  - spec/integration/lib/auth0/api/v2/api_connections_spec.rb
350
+ - spec/integration/lib/auth0/api/v2/api_device_credentials_spec.rb
264
351
  - spec/integration/lib/auth0/api/v2/api_email_spec.rb
265
352
  - spec/integration/lib/auth0/api/v2/api_jobs_spec.rb
353
+ - spec/integration/lib/auth0/api/v2/api_logs_spec.rb
354
+ - spec/integration/lib/auth0/api/v2/api_resource_servers_spec.rb
266
355
  - spec/integration/lib/auth0/api/v2/api_rules_spec.rb
267
356
  - spec/integration/lib/auth0/api/v2/api_stats_spec.rb
268
357
  - spec/integration/lib/auth0/api/v2/api_tenants_spec.rb
269
358
  - spec/integration/lib/auth0/api/v2/api_tickets_spec.rb
359
+ - spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb
270
360
  - spec/integration/lib/auth0/api/v2/api_users_spec.rb
271
361
  - spec/integration/lib/auth0/auth0_client_spec.rb
272
362
  - spec/lib/auth0/api/authentication_endpoints_spec.rb
@@ -276,17 +366,22 @@ files:
276
366
  - spec/lib/auth0/api/v1/rules_spec.rb
277
367
  - spec/lib/auth0/api/v1/users_spec.rb
278
368
  - spec/lib/auth0/api/v2/blacklists_spec.rb
369
+ - spec/lib/auth0/api/v2/client_grants_spec.rb
279
370
  - spec/lib/auth0/api/v2/clients_spec.rb
280
371
  - spec/lib/auth0/api/v2/connections_spec.rb
372
+ - spec/lib/auth0/api/v2/device_credentials_spec.rb
281
373
  - spec/lib/auth0/api/v2/emails_spec.rb
282
374
  - spec/lib/auth0/api/v2/jobs_spec.rb
375
+ - spec/lib/auth0/api/v2/logs_spec.rb
376
+ - spec/lib/auth0/api/v2/resource_servers_spec.rb
283
377
  - spec/lib/auth0/api/v2/rules_spec.rb
284
378
  - spec/lib/auth0/api/v2/stats_spec.rb
285
379
  - spec/lib/auth0/api/v2/tenants_spec.rb
286
380
  - spec/lib/auth0/api/v2/tickets_spec.rb
381
+ - spec/lib/auth0/api/v2/user_blocks_spec.rb
287
382
  - spec/lib/auth0/api/v2/users_spec.rb
288
383
  - spec/lib/auth0/client_spec.rb
289
- - spec/lib/auth0/mixins/httparty_proxy_spec.rb
384
+ - spec/lib/auth0/mixins/httpproxy_spec.rb
290
385
  - spec/lib/auth0/mixins/initializer_spec.rb
291
386
  - spec/spec_helper.rb
292
387
  - spec/spec_helper_full.rb
@@ -294,6 +389,7 @@ files:
294
389
  - spec/support/credentials.rb
295
390
  - spec/support/dummy_class.rb
296
391
  - spec/support/dummy_class_for_proxy.rb
392
+ - spec/support/dummy_class_for_restclient.rb
297
393
  - spec/support/import_users.json
298
394
  - spec/support/stub_response.rb
299
395
  homepage: https://github.com/auth0/ruby-auth0
@@ -321,17 +417,23 @@ signing_key:
321
417
  specification_version: 4
322
418
  summary: Auth0 API Client
323
419
  test_files:
420
+ - spec/integration/lib/auth0/api/api_authentication_spec.rb
324
421
  - spec/integration/lib/auth0/api/v1/api_clients_spec.rb
325
422
  - spec/integration/lib/auth0/api/v1/api_users_spec.rb
326
423
  - spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb
424
+ - spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb
327
425
  - spec/integration/lib/auth0/api/v2/api_clients_spec.rb
328
426
  - spec/integration/lib/auth0/api/v2/api_connections_spec.rb
427
+ - spec/integration/lib/auth0/api/v2/api_device_credentials_spec.rb
329
428
  - spec/integration/lib/auth0/api/v2/api_email_spec.rb
330
429
  - spec/integration/lib/auth0/api/v2/api_jobs_spec.rb
430
+ - spec/integration/lib/auth0/api/v2/api_logs_spec.rb
431
+ - spec/integration/lib/auth0/api/v2/api_resource_servers_spec.rb
331
432
  - spec/integration/lib/auth0/api/v2/api_rules_spec.rb
332
433
  - spec/integration/lib/auth0/api/v2/api_stats_spec.rb
333
434
  - spec/integration/lib/auth0/api/v2/api_tenants_spec.rb
334
435
  - spec/integration/lib/auth0/api/v2/api_tickets_spec.rb
436
+ - spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb
335
437
  - spec/integration/lib/auth0/api/v2/api_users_spec.rb
336
438
  - spec/integration/lib/auth0/auth0_client_spec.rb
337
439
  - spec/lib/auth0/api/authentication_endpoints_spec.rb
@@ -341,17 +443,22 @@ test_files:
341
443
  - spec/lib/auth0/api/v1/rules_spec.rb
342
444
  - spec/lib/auth0/api/v1/users_spec.rb
343
445
  - spec/lib/auth0/api/v2/blacklists_spec.rb
446
+ - spec/lib/auth0/api/v2/client_grants_spec.rb
344
447
  - spec/lib/auth0/api/v2/clients_spec.rb
345
448
  - spec/lib/auth0/api/v2/connections_spec.rb
449
+ - spec/lib/auth0/api/v2/device_credentials_spec.rb
346
450
  - spec/lib/auth0/api/v2/emails_spec.rb
347
451
  - spec/lib/auth0/api/v2/jobs_spec.rb
452
+ - spec/lib/auth0/api/v2/logs_spec.rb
453
+ - spec/lib/auth0/api/v2/resource_servers_spec.rb
348
454
  - spec/lib/auth0/api/v2/rules_spec.rb
349
455
  - spec/lib/auth0/api/v2/stats_spec.rb
350
456
  - spec/lib/auth0/api/v2/tenants_spec.rb
351
457
  - spec/lib/auth0/api/v2/tickets_spec.rb
458
+ - spec/lib/auth0/api/v2/user_blocks_spec.rb
352
459
  - spec/lib/auth0/api/v2/users_spec.rb
353
460
  - spec/lib/auth0/client_spec.rb
354
- - spec/lib/auth0/mixins/httparty_proxy_spec.rb
461
+ - spec/lib/auth0/mixins/httpproxy_spec.rb
355
462
  - spec/lib/auth0/mixins/initializer_spec.rb
356
463
  - spec/spec_helper.rb
357
464
  - spec/spec_helper_full.rb
@@ -359,6 +466,7 @@ test_files:
359
466
  - spec/support/credentials.rb
360
467
  - spec/support/dummy_class.rb
361
468
  - spec/support/dummy_class_for_proxy.rb
469
+ - spec/support/dummy_class_for_restclient.rb
362
470
  - spec/support/import_users.json
363
471
  - spec/support/stub_response.rb
364
472
  has_rdoc:
@@ -1,38 +0,0 @@
1
- module Auth0
2
- module Mixins
3
- # here's the proxy for HTTParty, we're building all request on that gem
4
- # for now, if you want to feel free to use your own http client
5
- module HTTPartyProxy
6
- # proxying requests from instance methods to HTTParty class methods
7
- %i(get post post_file put patch delete).each do |method|
8
- define_method(method) do |path, body = {}|
9
- safe_path = URI.escape(path)
10
- body = body.delete_if { |_, v| v.nil? }
11
- if method == :get
12
- result = self.class.send(method, safe_path, query: body)
13
- elsif method == :post_file
14
- result = self.class.send(:post, safe_path, body: body, detect_mime_type: true)
15
- else
16
- result = self.class.send(method, safe_path, body: body.to_json)
17
- end
18
- response_body =
19
- begin
20
- JSON.parse(result.body.to_s)
21
- rescue JSON::ParserError
22
- result.body
23
- end
24
- case result.code
25
- when 200...226 then response_body
26
- when 400 then fail Auth0::BadRequest, response_body
27
- when 401 then fail Auth0::Unauthorized, response_body
28
- when 403 then fail Auth0::AccessDenied, response_body
29
- when 404 then fail Auth0::NotFound, response_body
30
- when 500 then fail Auth0::ServerError, response_body
31
- else
32
- fail Auth0::Unsupported, response_body
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end
@@ -1,148 +0,0 @@
1
- require 'spec_helper'
2
- describe Auth0::Mixins::HTTPartyProxy do
3
- before :all do
4
- dummy_instance = DummyClassForProxy.new
5
- dummy_instance.extend(Auth0::Mixins::HTTPartyProxy)
6
- @instance = dummy_instance
7
- end
8
-
9
- %i(get).each do |http_method|
10
- context ".#{http_method}" do
11
- it { expect(@instance).to respond_to(http_method.to_sym) }
12
- it "should call send http #{http_method} method to path defined through HTTParty" do
13
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/test', query: {})
14
- expect(DummyClassForProxy).to receive(http_method).with('/test', query: {})
15
- .and_return(StubResponse.new({}, true, 200))
16
- expect { @instance.send(http_method, '/test') }.not_to raise_error
17
- end
18
-
19
- it 'should not raise exception if data returned not in json format (should be fixed in v2)' do
20
- allow(DummyClassForProxy).to receive(http_method).with('/test', query: {})
21
- .and_return(StubResponse.new('Some random text here', true, 200))
22
- expect { @instance.send(http_method, '/test') }.not_to raise_error
23
- expect(@instance.send(http_method, '/test')).to eql('Some random text here')
24
- end
25
-
26
- it "should raise Auth0::Unauthorized on send http #{http_method}
27
- method to path defined through HTTParty when 401 status received" do
28
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/test', query: {})
29
- expect(DummyClassForProxy).to receive(http_method).with('/test', query: {})
30
- .and_return(StubResponse.new({}, false, 401))
31
- expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::Unauthorized)
32
- end
33
-
34
- it "should raise Auth0::NotFound on send http #{http_method} method
35
- to path defined through HTTParty when 404 status received" do
36
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/test', query: {})
37
- expect(DummyClassForProxy).to receive(http_method).with('/test', query: {})
38
- .and_return(StubResponse.new({}, false, 404))
39
- expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::NotFound)
40
- end
41
-
42
- it "should raise Auth0::Unsupported on send http #{http_method} method
43
- to path defined through HTTParty when 418 or other unknown status received" do
44
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/test', query: {})
45
- expect(DummyClassForProxy).to receive(http_method).with('/test', query: {})
46
- .and_return(StubResponse.new({}, false, 418))
47
- expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::Unsupported)
48
- end
49
-
50
- it "should raise Auth0::BadRequest on send http #{http_method} method
51
- to path defined through HTTParty when 400 or other unknown status received" do
52
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/test', query: {})
53
- expect(DummyClassForProxy).to receive(http_method).with('/test', query: {})
54
- .and_return(StubResponse.new({}, false, 400))
55
- expect { @instance.send(http_method, '/test') }.to raise_error(
56
- Auth0::BadRequest)
57
- end
58
-
59
- it "should raise Auth0::AccessDenied on send http #{http_method} method
60
- to path defined through HTTParty when 403" do
61
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/test', query: {})
62
- expect(DummyClassForProxy).to receive(http_method).with('/test', query: {})
63
- .and_return(StubResponse.new({}, false, 403))
64
- expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::AccessDenied)
65
- end
66
- it "should raise Auth0::ServerError on send http #{http_method} method
67
- to path defined through HTTParty when 500 received" do
68
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/test', query: {})
69
- expect(DummyClassForProxy).to receive(http_method).with('/test', query: {})
70
- .and_return(StubResponse.new({}, false, 500))
71
- expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::ServerError)
72
- end
73
-
74
- it 'should escape path with URI.escape' do
75
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/te%20st', query: {})
76
- expect(DummyClassForProxy).to receive(http_method).with('/te%20st', query: {})
77
- .and_return(StubResponse.new({}, true, 200))
78
- expect { @instance.send(http_method, '/te st') }.not_to raise_error
79
- end
80
- end
81
- end
82
-
83
- %i(post put patch delete).each do |http_method|
84
- context ".#{http_method}" do
85
- it { expect(@instance).to respond_to(http_method.to_sym) }
86
- it "should call send http #{http_method} method to path defined through HTTParty" do
87
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/test', body: '{}')
88
- expect(DummyClassForProxy).to receive(http_method).with('/test', body: '{}')
89
- .and_return(StubResponse.new('{}', true, 200))
90
- expect { @instance.send(http_method, '/test') }.not_to raise_error
91
- end
92
-
93
- it 'should not raise exception if data returned not in json format (should be fixed in v2)' do
94
- allow(DummyClassForProxy).to receive(http_method).with('/test', body: '{}')
95
- .and_return(StubResponse.new('Some random text here', true, 200))
96
- expect { @instance.send(http_method, '/test') }.not_to raise_error
97
- expect(@instance.send(http_method, '/test')).to eql('Some random text here')
98
- end
99
-
100
- it "should raise Auth0::Unauthorized on send http #{http_method} method
101
- to path defined through HTTParty when 401 status received" do
102
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/test', body: '{}')
103
- expect(DummyClassForProxy).to receive(http_method).with('/test', body: '{}')
104
- .and_return(StubResponse.new('{}', false, 401))
105
- expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::Unauthorized)
106
- end
107
-
108
- it "should raise Auth0::NotFound on send http #{http_method} method
109
- to path defined through HTTParty when 404 status received" do
110
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/test', body: '{}')
111
- expect(DummyClassForProxy).to receive(http_method).with('/test', body: '{}')
112
- .and_return(StubResponse.new('{}', false, 404))
113
- expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::NotFound)
114
- end
115
-
116
- it "should raise Auth0::Unsupported on send http #{http_method} method
117
- to path defined through HTTParty when 418 or other unknown status received" do
118
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/test', body: '{}')
119
- expect(DummyClassForProxy).to receive(http_method).with('/test', body: '{}')
120
- .and_return(StubResponse.new('{}', false, 418))
121
- expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::Unsupported)
122
- end
123
-
124
- it "should raise Auth0::BadRequest on send http #{http_method} method
125
- to path defined through HTTParty when 400 or other unknown status received" do
126
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/test', body: '{}')
127
- expect(DummyClassForProxy).to receive(http_method).with('/test', body: '{}')
128
- .and_return(StubResponse.new('{}', false, 400))
129
- expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::BadRequest)
130
- end
131
-
132
- it "should raise Auth0::ServerError on send http #{http_method} method
133
- to path defined through HTTParty when 500 received" do
134
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/test', body: '{}')
135
- expect(DummyClassForProxy).to receive(http_method).with('/test', body: '{}')
136
- .and_return(StubResponse.new('{}', false, 500))
137
- expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::ServerError)
138
- end
139
-
140
- it 'should escape path with URI.escape' do
141
- allow(DummyClassForProxy).to receive(http_method).with('http://login.auth0.com/te%20st', body: '{}')
142
- expect(DummyClassForProxy).to receive(http_method).with('/te%20st', body: '{}')
143
- .and_return(StubResponse.new('{}', true, 200))
144
- expect { @instance.send(http_method, '/te st') }.not_to raise_error
145
- end
146
- end
147
- end
148
- end