auth0 4.11.0 → 5.20.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 (358) hide show
  1. checksums.yaml +4 -4
  2. data/.version +1 -0
  3. data/CHANGELOG.md +477 -19
  4. data/README.md +80 -129
  5. data/auth0.gemspec +10 -13
  6. data/lib/auth0/algorithm.rb +5 -0
  7. data/lib/auth0/api/authentication_endpoints.rb +189 -242
  8. data/lib/auth0/api/v2/actions.rb +209 -0
  9. data/lib/auth0/api/v2/attack_protection.rb +79 -0
  10. data/lib/auth0/api/v2/branding.rb +65 -0
  11. data/lib/auth0/api/v2/client_grants.rb +27 -2
  12. data/lib/auth0/api/v2/clients.rb +42 -0
  13. data/lib/auth0/api/v2/connections.rb +14 -5
  14. data/lib/auth0/api/v2/device_credentials.rb +12 -7
  15. data/lib/auth0/api/v2/grants.rb +49 -0
  16. data/lib/auth0/api/v2/jobs.rb +28 -5
  17. data/lib/auth0/api/v2/log_streams.rb +78 -0
  18. data/lib/auth0/api/v2/logs.rb +2 -2
  19. data/lib/auth0/api/v2/organizations.rb +407 -0
  20. data/lib/auth0/api/v2/prompts.rb +70 -0
  21. data/lib/auth0/api/v2/refresh_tokens.rb +34 -0
  22. data/lib/auth0/api/v2/roles.rb +7 -3
  23. data/lib/auth0/api/v2/sessions.rb +43 -0
  24. data/lib/auth0/api/v2/tickets.rb +25 -2
  25. data/lib/auth0/api/v2/users.rb +216 -14
  26. data/lib/auth0/api/v2.rb +21 -3
  27. data/lib/auth0/client_assertion.rb +45 -0
  28. data/lib/auth0/exception.rb +19 -8
  29. data/lib/auth0/mixins/access_token_struct.rb +2 -2
  30. data/lib/auth0/mixins/api_token_struct.rb +2 -3
  31. data/lib/auth0/mixins/httpproxy.rb +99 -35
  32. data/lib/auth0/mixins/initializer.rb +6 -9
  33. data/lib/auth0/mixins/permission_struct.rb +2 -2
  34. data/lib/auth0/mixins/token_management.rb +35 -0
  35. data/lib/auth0/mixins/validation.rb +335 -1
  36. data/lib/auth0/mixins.rb +2 -1
  37. data/lib/auth0/version.rb +1 -1
  38. data/lib/auth0.rb +1 -0
  39. metadata +71 -608
  40. data/.bundle/config +0 -4
  41. data/.circleci/config.yml +0 -23
  42. data/.env.example +0 -2
  43. data/.gemrelease +0 -2
  44. data/.github/CODEOWNERS +0 -1
  45. data/.github/ISSUE_TEMPLATE.md +0 -39
  46. data/.github/PULL_REQUEST_TEMPLATE.md +0 -35
  47. data/.github/stale.yml +0 -20
  48. data/.gitignore +0 -14
  49. data/.rspec +0 -3
  50. data/.rubocop.yml +0 -10
  51. data/.rubocop_todo.yml +0 -5
  52. data/CODE_OF_CONDUCT.md +0 -3
  53. data/DEPLOYMENT.md +0 -61
  54. data/Dockerfile +0 -5
  55. data/Gemfile +0 -19
  56. data/Gemfile.lock +0 -224
  57. data/Guardfile +0 -37
  58. data/RUBYGEM.md +0 -9
  59. data/Rakefile +0 -53
  60. data/codecov.yml +0 -22
  61. data/deploy_documentation.sh +0 -29
  62. data/doc_config/templates/default/fulldoc/html/css/full_list.css +0 -79
  63. data/doc_config/templates/default/fulldoc/html/css/style.css +0 -546
  64. data/doc_config/templates/default/layout/html/breadcrumb.erb +0 -11
  65. data/doc_config/templates/default/layout/html/footer.erb +0 -115
  66. data/doc_config/templates/default/layout/html/headers.erb +0 -17
  67. data/doc_config/templates/default/layout/html/layout.erb +0 -27
  68. data/examples/ruby-api/.env.example +0 -2
  69. data/examples/ruby-api/.gitignore +0 -86
  70. data/examples/ruby-api/Gemfile +0 -8
  71. data/examples/ruby-api/README.md +0 -24
  72. data/examples/ruby-api/config.ru +0 -2
  73. data/examples/ruby-api/main.rb +0 -33
  74. data/examples/ruby-on-rails-api/.env.example +0 -2
  75. data/examples/ruby-on-rails-api/.gitignore +0 -18
  76. data/examples/ruby-on-rails-api/Gemfile +0 -48
  77. data/examples/ruby-on-rails-api/README.md +0 -27
  78. data/examples/ruby-on-rails-api/Rakefile +0 -6
  79. data/examples/ruby-on-rails-api/app/assets/images/.keep +0 -0
  80. data/examples/ruby-on-rails-api/app/assets/javascripts/application.js +0 -16
  81. data/examples/ruby-on-rails-api/app/assets/stylesheets/application.css +0 -15
  82. data/examples/ruby-on-rails-api/app/controllers/application_controller.rb +0 -8
  83. data/examples/ruby-on-rails-api/app/controllers/concerns/.keep +0 -0
  84. data/examples/ruby-on-rails-api/app/controllers/ping_controller.rb +0 -6
  85. data/examples/ruby-on-rails-api/app/controllers/secured_ping_controller.rb +0 -11
  86. data/examples/ruby-on-rails-api/app/helpers/application_helper.rb +0 -3
  87. data/examples/ruby-on-rails-api/app/mailers/.keep +0 -0
  88. data/examples/ruby-on-rails-api/app/models/.keep +0 -0
  89. data/examples/ruby-on-rails-api/app/models/User.rb +0 -5
  90. data/examples/ruby-on-rails-api/app/models/concerns/.keep +0 -0
  91. data/examples/ruby-on-rails-api/app/views/layouts/application.html.erb +0 -14
  92. data/examples/ruby-on-rails-api/bin/bundle +0 -3
  93. data/examples/ruby-on-rails-api/bin/rails +0 -4
  94. data/examples/ruby-on-rails-api/bin/rake +0 -4
  95. data/examples/ruby-on-rails-api/bin/setup +0 -29
  96. data/examples/ruby-on-rails-api/config/application.rb +0 -23
  97. data/examples/ruby-on-rails-api/config/boot.rb +0 -4
  98. data/examples/ruby-on-rails-api/config/database.yml +0 -27
  99. data/examples/ruby-on-rails-api/config/environment.rb +0 -5
  100. data/examples/ruby-on-rails-api/config/environments/development.rb +0 -37
  101. data/examples/ruby-on-rails-api/config/environments/production.rb +0 -83
  102. data/examples/ruby-on-rails-api/config/environments/test.rb +0 -41
  103. data/examples/ruby-on-rails-api/config/initializers/backtrace_silencers.rb +0 -7
  104. data/examples/ruby-on-rails-api/config/initializers/cookies_serializer.rb +0 -3
  105. data/examples/ruby-on-rails-api/config/initializers/dotenv.rb +0 -4
  106. data/examples/ruby-on-rails-api/config/initializers/filter_parameter_logging.rb +0 -4
  107. data/examples/ruby-on-rails-api/config/initializers/inflections.rb +0 -16
  108. data/examples/ruby-on-rails-api/config/initializers/knock.rb +0 -35
  109. data/examples/ruby-on-rails-api/config/initializers/mime_types.rb +0 -4
  110. data/examples/ruby-on-rails-api/config/initializers/session_store.rb +0 -3
  111. data/examples/ruby-on-rails-api/config/initializers/wrap_parameters.rb +0 -14
  112. data/examples/ruby-on-rails-api/config/locales/en.yml +0 -23
  113. data/examples/ruby-on-rails-api/config/routes.rb +0 -58
  114. data/examples/ruby-on-rails-api/config/secrets.yml +0 -28
  115. data/examples/ruby-on-rails-api/config.ru +0 -4
  116. data/examples/ruby-on-rails-api/db/schema.rb +0 -15
  117. data/examples/ruby-on-rails-api/db/seeds.rb +0 -7
  118. data/examples/ruby-on-rails-api/lib/assets/.keep +0 -0
  119. data/examples/ruby-on-rails-api/lib/tasks/.keep +0 -0
  120. data/examples/ruby-on-rails-api/log/.keep +0 -0
  121. data/examples/ruby-on-rails-api/public/404.html +0 -67
  122. data/examples/ruby-on-rails-api/public/422.html +0 -67
  123. data/examples/ruby-on-rails-api/public/500.html +0 -66
  124. data/examples/ruby-on-rails-api/public/favicon.ico +0 -0
  125. data/examples/ruby-on-rails-api/public/robots.txt +0 -5
  126. data/examples/ruby-on-rails-api/test/controllers/.keep +0 -0
  127. data/examples/ruby-on-rails-api/test/fixtures/.keep +0 -0
  128. data/examples/ruby-on-rails-api/test/helpers/.keep +0 -0
  129. data/examples/ruby-on-rails-api/test/integration/.keep +0 -0
  130. data/examples/ruby-on-rails-api/test/mailers/.keep +0 -0
  131. data/examples/ruby-on-rails-api/test/models/.keep +0 -0
  132. data/examples/ruby-on-rails-api/test/ping_controller_test.rb +0 -8
  133. data/examples/ruby-on-rails-api/test/secured_ping_controller_test.rb +0 -26
  134. data/examples/ruby-on-rails-api/test/test_helper.rb +0 -16
  135. data/lib/auth0/api/v1/clients.rb +0 -48
  136. data/lib/auth0/api/v1/connections.rb +0 -53
  137. data/lib/auth0/api/v1/logs.rb +0 -34
  138. data/lib/auth0/api/v1/rules.rb +0 -45
  139. data/lib/auth0/api/v1/users.rb +0 -164
  140. data/lib/auth0/api/v1.rb +0 -19
  141. data/publish_rubygem.sh +0 -10
  142. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_change_password/should_trigger_a_password_reset.yml +0 -63
  143. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_email.yml +0 -54
  144. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_password.yml +0 -54
  145. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_invalid_audience.yml +0 -55
  146. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_custom_audience.yml +0 -117
  147. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_default_scope.yml +0 -119
  148. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_saml_metadata/should_retrieve_SAML_metadata.yml +0 -57
  149. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_fail_as_not_authorized.yml +0 -55
  150. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_return_the_userinfo.yml +0 -118
  151. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_wsfed_metadata/should_retrieve_WSFED_metadata.yml +0 -55
  152. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/create_test_user.yml +0 -58
  153. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/delete_test_user.yml +0 -54
  154. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_check_if_ip_is_blocked/should_return_200_response_code.yml +0 -65
  155. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_remove_ip_block/should_remove_an_IP_successfully.yml +0 -60
  156. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_add_token_to_blacklist/should_add_a_token_to_the_blacklist.yml +0 -56
  157. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_blacklisted_tokens/should_get_the_added_token_from_the_blacklist.yml +0 -59
  158. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_at_least_1_result.yml +0 -62
  159. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_first_page_of_one_result.yml +0 -66
  160. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_test_client_grant.yml +0 -62
  161. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_delete_client_grant/should_delete_the_test_client_grant.yml +0 -54
  162. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_patch_client_grant/should_update_the_test_client_grant.yml +0 -64
  163. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client.yml +0 -118
  164. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client_grant.yml +0 -64
  165. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client.yml +0 -54
  166. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client_grant.yml +0 -54
  167. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_exclude_and_include_fields_properly.yml +0 -91
  168. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_include_the_specified_fields.yml +0 -63
  169. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/should_get_the_test_client.yml +0 -92
  170. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_fields_not_specified.yml +0 -60
  171. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_the_specified_fields.yml +0 -132
  172. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_include_the_specified_fields.yml +0 -63
  173. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_paginate_results.yml +0 -65
  174. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/should_get_at_least_one_client.yml +0 -132
  175. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_delete_client/should_delete_the_test_client_without_an_error.yml +0 -54
  176. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_patch_client/should_update_the_client_with_the_correct_attributes.yml +0 -94
  177. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/create_test_client.yml +0 -118
  178. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml +0 -63
  179. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml +0 -61
  180. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml +0 -63
  181. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml +0 -59
  182. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml +0 -59
  183. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml +0 -59
  184. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml +0 -59
  185. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml +0 -59
  186. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml +0 -54
  187. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml +0 -110
  188. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml +0 -66
  189. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml +0 -65
  190. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_user.yml +0 -68
  191. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_delete_device_credential/should_delete_the_test_credential_without_an_error.yml +0 -54
  192. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/_filter_by_type/should_exclude_the_test_credential.yml +0 -59
  193. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_have_at_least_1_entry.yml +0 -62
  194. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_include_the_test_credential.yml +0 -62
  195. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_credential.yml +0 -62
  196. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_user.yml +0 -68
  197. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_credential.yml +0 -54
  198. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_user.yml +0 -54
  199. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_configure_provider/should_configure_a_new_email_provider.yml +0 -63
  200. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_delete_the_existing_email_provider_without_an_error.yml +0 -54
  201. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_throw_an_error_trying_to_get_the_email_provider.yml +0 -51
  202. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_with_specific_fields.yml +0 -60
  203. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_without_specific_fields.yml +0 -61
  204. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/should_get_the_existing_email_provider.yml +0 -61
  205. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_update_provider/should_update_the_existing_email_provider.yml +0 -63
  206. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/delete_existing_provider.yml +0 -54
  207. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_create_an_export_users_job_successfully.yml +0 -61
  208. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_get_the_export_users_job.yml +0 -117
  209. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_create_an_import_users_job_successfully.yml +0 -60
  210. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_get_the_import_users_job.yml +0 -116
  211. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_create_a_new_verification_email_job.yml +0 -119
  212. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_get_the_completed_verification_email.yml +0 -175
  213. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_reject_an_invalid_client_id.yml +0 -109
  214. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/delete_imported_user.yml +0 -110
  215. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/search_for_connection_id.yml +0 -59
  216. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_match_the_created_log_entry.yml +0 -265
  217. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_not_be_empty.yml +0 -265
  218. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_fields_not_specified.yml +0 -61
  219. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_the_specified_fields.yml +0 -75
  220. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_have_one_log_entry.yml +0 -76
  221. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_include_the_specified_fields.yml +0 -62
  222. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_from/should_take_one_log_entry.yml +0 -258
  223. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/create_test_user.yml +0 -68
  224. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_disabled_rule.yml +0 -54
  225. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_enabled_rule.yml +0 -54
  226. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_user.yml +0 -54
  227. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_delete_resource_server/should_delete_the_test_server_without_an_error.yml +0 -54
  228. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_patch_resource_server/should_update_the_resource_server_with_the_correct_attributes.yml +0 -61
  229. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_server/should_get_the_test_server.yml +0 -59
  230. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_get_the_test_server.yml +0 -59
  231. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_at_least_1_result.yml +0 -59
  232. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_the_first_page_of_one_result.yml +0 -64
  233. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/create_test_server.yml +0 -61
  234. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/delete_test_server.yml +0 -54
  235. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_permissions/should_add_a_Permission_to_the_Role_successfully.yml +0 -69
  236. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_users/should_add_a_User_to_the_Role_successfully.yml +0 -69
  237. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_delete_role/should_delete_the_Role_successfully.yml +0 -62
  238. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role/should_get_the_Role_successfully.yml +0 -67
  239. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_exactly_1_Permission.yml +0 -67
  240. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_the_added_Permission_from_the_Role_successfully.yml +0 -67
  241. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_exactly_1_User.yml +0 -67
  242. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_the_added_User_from_the_Role_successfully.yml +0 -67
  243. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_roles/should_get_the_Role_successfully.yml +0 -67
  244. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_remove_role_permissions/should_remove_a_Permission_from_the_Role_successfully.yml +0 -64
  245. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_update_role/should_update_the_Role_successfully.yml +0 -69
  246. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_api.yml +0 -69
  247. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_role.yml +0 -69
  248. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_user.yml +0 -69
  249. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_api.yml +0 -62
  250. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_user.yml +0 -62
  251. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_disabled_rule_without_an_error.yml +0 -54
  252. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_enabled_rule_without_an_error.yml +0 -54
  253. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_fields_not_specified.yml +0 -62
  254. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_specified_fields.yml +0 -62
  255. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_include_the_specified_fields.yml +0 -61
  256. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/should_get_a_specific_rule.yml +0 -62
  257. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_exclude_fields_not_specified.yml +0 -60
  258. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_include_the_specified_fields.yml +0 -61
  259. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_disabled_rule.yml +0 -63
  260. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_enabled_rule.yml +0 -62
  261. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_paginated_results.yml +0 -128
  262. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/should_return_at_least_1_rule.yml +0 -64
  263. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_update_rule/should_update_the_disabled_rule_to_be_enabled.yml +0 -64
  264. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_disabled_rule.yml +0 -65
  265. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_enabled_rule.yml +0 -65
  266. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_active_users/should_have_at_least_one_active_user.yml +0 -59
  267. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_daily_stats/should_have_at_least_one_stats_entry_for_the_timeframe.yml +0 -63
  268. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings/should_get_the_tenant_settings.yml +0 -95
  269. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_exclude_a_field_not_requested.yml +0 -61
  270. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_include_the_field_requested.yml +0 -61
  271. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_revert_the_tenant_name.yml +0 -96
  272. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_update_the_tenant_settings_with_a_new_tenant_name.yml +0 -96
  273. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_email_verification/should_create_an_email_verification_ticket.yml +0 -63
  274. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_password_change/should_create_a_password_change_ticket.yml +0 -63
  275. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/create_test_user.yml +0 -68
  276. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/delete_test_user.yml +0 -54
  277. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_permissions/should_add_a_Permissions_for_a_User_successfully.yml +0 -67
  278. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_roles/should_add_a_Role_to_a_User_successfully.yml +0 -62
  279. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_User_successfully.yml +0 -60
  280. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_secondary_User_successfully.yml +0 -60
  281. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user_provider/should_attempt_to_delete_the_MFA_provider_for_the_User.yml +0 -60
  282. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_enrollments/should_get_Enrollments_for_a_User_successfully.yml +0 -65
  283. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_exactly_1_Permission_for_a_User_successfully.yml +0 -65
  284. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_the_correct_Permission_for_a_User_successfully.yml +0 -65
  285. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_roles/should_get_Roles_for_a_User_successfully.yml +0 -65
  286. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_invalidate_browsers/should_invalidate_MFA_browsers_for_the_User_successfully.yml +0 -62
  287. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_link_user_account/should_link_two_Users_successfully.yml +0 -67
  288. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_patch_user/should_patch_the_User_successfully.yml +0 -68
  289. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_permissions/should_remove_a_Permission_from_a_User_successfully.yml +0 -62
  290. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_roles/should_remove_a_Role_from_a_User_successfully.yml +0 -62
  291. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_unlink_user_account/should_unlink_two_Users_successfully.yml +0 -65
  292. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_fields_not_indicated.yml +0 -65
  293. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_the_fields_indicated.yml +0 -65
  294. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_include_the_fields_indicated.yml +0 -65
  295. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/should_retrieve_the_created_user.yml +0 -65
  296. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user_logs/should_get_Logs_for_a_User_successfully.yml +0 -69
  297. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v2_search_engine_query.yml +0 -65
  298. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v3_search_engine_query.yml +0 -65
  299. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_exclude_the_indicated_fields_when_paginated.yml +0 -65
  300. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_include_the_indicated_fields_when_paginated.yml +0 -65
  301. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_not_include_other_fields_when_paginated.yml +0 -65
  302. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_return_the_correct_number_of_results_when_paginated.yml +0 -65
  303. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/should_have_at_least_one_user.yml +0 -65
  304. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_secondary_test_user.yml +0 -67
  305. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_api.yml +0 -67
  306. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_role.yml +0 -67
  307. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_user.yml +0 -67
  308. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_api.yml +0 -60
  309. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_role.yml +0 -60
  310. data/spec/integration/lib/auth0/api/api_authentication_spec.rb +0 -120
  311. data/spec/integration/lib/auth0/api/v2/api_anomaly_spec.rb +0 -17
  312. data/spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb +0 -27
  313. data/spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb +0 -75
  314. data/spec/integration/lib/auth0/api/v2/api_clients_spec.rb +0 -166
  315. data/spec/integration/lib/auth0/api/v2/api_connections_spec.rb +0 -159
  316. data/spec/integration/lib/auth0/api/v2/api_device_credentials_spec.rb +0 -128
  317. data/spec/integration/lib/auth0/api/v2/api_email_spec.rb +0 -117
  318. data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +0 -112
  319. data/spec/integration/lib/auth0/api/v2/api_logs_spec.rb +0 -91
  320. data/spec/integration/lib/auth0/api/v2/api_resource_servers_spec.rb +0 -130
  321. data/spec/integration/lib/auth0/api/v2/api_roles_spec.rb +0 -145
  322. data/spec/integration/lib/auth0/api/v2/api_rules_spec.rb +0 -177
  323. data/spec/integration/lib/auth0/api/v2/api_stats_spec.rb +0 -22
  324. data/spec/integration/lib/auth0/api/v2/api_tenants_spec.rb +0 -59
  325. data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +0 -53
  326. data/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb +0 -73
  327. data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +0 -300
  328. data/spec/integration/lib/auth0/auth0_client_spec.rb +0 -90
  329. data/spec/lib/auth0/api/authentication_endpoints_spec.rb +0 -678
  330. data/spec/lib/auth0/api/v2/anomaly_spec.rb +0 -26
  331. data/spec/lib/auth0/api/v2/blacklists_spec.rb +0 -25
  332. data/spec/lib/auth0/api/v2/client_grants_spec.rb +0 -76
  333. data/spec/lib/auth0/api/v2/clients_spec.rb +0 -104
  334. data/spec/lib/auth0/api/v2/connections_spec.rb +0 -140
  335. data/spec/lib/auth0/api/v2/device_credentials_spec.rb +0 -73
  336. data/spec/lib/auth0/api/v2/emails_spec.rb +0 -47
  337. data/spec/lib/auth0/api/v2/guardian_spec.rb +0 -154
  338. data/spec/lib/auth0/api/v2/jobs_spec.rb +0 -111
  339. data/spec/lib/auth0/api/v2/logs_spec.rb +0 -48
  340. data/spec/lib/auth0/api/v2/resource_servers_spec.rb +0 -86
  341. data/spec/lib/auth0/api/v2/roles_spec.rb +0 -362
  342. data/spec/lib/auth0/api/v2/rules_spec.rb +0 -95
  343. data/spec/lib/auth0/api/v2/stats_spec.rb +0 -22
  344. data/spec/lib/auth0/api/v2/tenants_spec.rb +0 -26
  345. data/spec/lib/auth0/api/v2/tickets_spec.rb +0 -46
  346. data/spec/lib/auth0/api/v2/user_blocks_spec.rb +0 -52
  347. data/spec/lib/auth0/api/v2/users_by_email_spec.rb +0 -21
  348. data/spec/lib/auth0/api/v2/users_spec.rb +0 -525
  349. data/spec/lib/auth0/client_spec.rb +0 -153
  350. data/spec/lib/auth0/mixins/httpproxy_spec.rb +0 -304
  351. data/spec/lib/auth0/mixins/initializer_spec.rb +0 -30
  352. data/spec/spec_helper.rb +0 -62
  353. data/spec/support/credentials.rb +0 -30
  354. data/spec/support/dummy_class.rb +0 -18
  355. data/spec/support/dummy_class_for_proxy.rb +0 -5
  356. data/spec/support/dummy_class_for_restclient.rb +0 -2
  357. data/spec/support/import_users.json +0 -13
  358. data/spec/support/stub_response.rb +0 -1
@@ -0,0 +1,78 @@
1
+ module Auth0
2
+ module Api
3
+ module V2
4
+ # Methods to use the log streams endpoints
5
+ module LogStreams
6
+ attr_reader :log_streams_path
7
+
8
+ # Retrieves a list of all log streams.
9
+ # @see https://auth0.com/docs/api/management/v2#!/Log_Streams/get_log_streams
10
+ # @return [json] Returns the log streams.
11
+ def log_streams()
12
+ get(log_streams_path)
13
+ end
14
+ alias get_log_streams log_streams
15
+
16
+ # Retrieves a log stream by its ID.
17
+ # @see https://auth0.com/docs/api/management/v2#!/Log_Streams/get_log_streams_by_id
18
+ # @param id [string] The id of the log stream to retrieve.
19
+ #
20
+ # @return [json] Returns the log stream.
21
+ def log_stream(id)
22
+ raise Auth0::InvalidParameter, 'Must supply a valid log stream id' if id.to_s.empty?
23
+ path = "#{log_streams_path}/#{id}"
24
+ get(path)
25
+ end
26
+ alias get_log_stream log_stream
27
+
28
+ # Creates a new log stream according to the JSON object received in body.
29
+ # @see https://auth0.com/docs/api/management/v2#!/Log_Streams/post_log_streams
30
+ # @param name [string] The name of the log stream.
31
+ # @param type [string] The type of log stream
32
+ # @param options [hash] The Hash options used to define the log streams's properties.
33
+ #
34
+ # @return [json] Returns the log stream.
35
+ def create_log_stream(name, type, options)
36
+ raise Auth0::InvalidParameter, 'Name must contain at least one character' if name.to_s.empty?
37
+ raise Auth0::InvalidParameter, 'Must specify a valid type' if type.to_s.empty?
38
+ raise Auth0::InvalidParameter, 'Must supply a valid hash for options' unless options.is_a? Hash
39
+
40
+ request_params = {}
41
+ request_params[:name] = name
42
+ request_params[:type] = type
43
+ request_params[:sink] = options
44
+ post(log_streams_path, request_params)
45
+ end
46
+
47
+ # Deletes a log stream by its ID.
48
+ # @see https://auth0.com/docs/api/management/v2#!/Log_Streams/delete_log_streams_by_id
49
+ # @param id [string] The id of the log stream to delete.
50
+ def delete_log_stream(id)
51
+ raise Auth0::InvalidParameter, 'Must supply a valid log stream id' if id.to_s.empty?
52
+ path = "#{log_streams_path}/#{id}"
53
+ delete(path)
54
+ end
55
+
56
+ # Updates a log stream.
57
+ # @see https://auth0.com/docs/api/management/v2#!/Log_Streams/patch_log_streams_by_id
58
+ # @param id [string] The id or audience of the log stream to update.
59
+ # @param status [string] The Hash options used to define the log streams's properties.
60
+ def patch_log_stream(id, status)
61
+ raise Auth0::InvalidParameter, 'Must specify a log stream id' if id.to_s.empty?
62
+ raise Auth0::InvalidParameter, 'Must specify a valid status' if status.to_s.empty?
63
+
64
+ request_params = {}
65
+ request_params[:status] = status
66
+ path = "#{log_streams_path}/#{id}"
67
+ patch(path, request_params)
68
+ end
69
+
70
+ private
71
+ # Log Streams API path
72
+ def log_streams_path
73
+ @log_streams_path ||= '/api/v2/log-streams'
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -16,8 +16,8 @@ module Auth0
16
16
  # * :fields [string] A comma separated list of fields to include or exclude from the result.
17
17
  # * :include_fields [boolean] True if the fields specified are to be included in the result, false otherwise.
18
18
  # * :include_totals [string] True if a query summary must be included in the result, false otherwise.
19
- # * :from [string] Log Event Id to start retrieving logs. You can limit the amount of logs using the take parameter.
20
- # * :take [integer] The total amount of entries to retrieve when using the from parameter.
19
+ # * :from [string] For checkpoint pagination, the ID from which to start selection from.
20
+ # * :take [integer] For checkpoint pagination, the number of entries to retrieve. Default is 50.
21
21
  # Default: 50. Max value: 100.
22
22
  #
23
23
  # @return [json] Returns the list of existing log entries.
@@ -0,0 +1,407 @@
1
+ module Auth0
2
+ module Api
3
+ module V2
4
+ # Methods to use the organizations endpoints
5
+ module Organizations
6
+ include Auth0::Mixins::Validation
7
+
8
+ attr_reader :organizations_path
9
+
10
+ # Get all organizations.
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 results
13
+ # * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100.
14
+ # * :page [integer] The page number. Zero based.
15
+ # * :from [string] For checkpoint pagination, the ID from which to start selection from.
16
+ # * :take [integer] For checkpoint pagination, the number of entries to retrieve. Default is 50.
17
+ # * :include_totals [boolean] True to include query summary in the result, false or nil otherwise.
18
+ # @return [json] All Organizations
19
+ def organizations(options = {})
20
+ request_params = {
21
+ per_page: options.fetch(:per_page, nil),
22
+ page: options.fetch(:page, nil),
23
+ from: options.fetch(:from, nil),
24
+ take: options.fetch(:take, nil),
25
+ include_totals: options.fetch(:include_totals, nil)
26
+ }
27
+ get(organizations_path, request_params)
28
+ end
29
+ alias get_organizations organizations
30
+
31
+ # Create a new organization.
32
+ # @see ttps://auth0.com/docs/api/management/v2/#!/Organizations/post_organizations
33
+ # @param options [hash] See https://auth0.com/docs/api/management/v2/#!/Organizations/post_organizations for available options
34
+ # @return [json] Returns the created organization.
35
+ def create_organization(options = {})
36
+ post(organizations_path, options)
37
+ end
38
+
39
+ # Get an organization by id. A token with read:organizations scope is required
40
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_organizations_by_id
41
+ # @param organization_id [string] The organization_id of the user to retrieve.
42
+ #
43
+ # @return [json] Returns the organization with the given organization_id if it exists.
44
+ def organization(organization_id)
45
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
46
+ path = "#{organizations_path}/#{organization_id}"
47
+ get(path)
48
+ end
49
+
50
+ # Get an organization by name. A token with read:organizations scope is required.
51
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_name_by_name
52
+ # @param organization_name [string] The Organization name
53
+ #
54
+ # @return [json] Returns the organization with the given organization_name if it exists.
55
+ def organization_by_name(organization_name)
56
+ raise Auth0::InvalidParameter, 'Must supply a valid organization_name' if organization_name.to_s.empty?
57
+ path = "#{organizations_path}/name/#{organization_name}"
58
+ get(path)
59
+ end
60
+
61
+
62
+ # Deletes a single organization given its id
63
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/delete_organizations_by_id
64
+ # @param organization_id [string] The Organization ID
65
+ def delete_organization(organization_id)
66
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
67
+ path = "#{organizations_path}/#{organization_id}"
68
+ delete(path)
69
+ end
70
+
71
+ # Update an existing organization.
72
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/patch_organizations_by_id
73
+ # @param organization_id [string] The Organization ID
74
+ # @param body [hash] The optional parameters to update.
75
+ #
76
+ # @return [json] Returns the updated user.
77
+ def patch_organization(organization_id, body)
78
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
79
+ raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? || body.empty?
80
+ path = "#{organizations_path}/#{organization_id}"
81
+ patch(path, body)
82
+ end
83
+ alias update_organization patch_organization
84
+
85
+ ### Organization Enabled Connections
86
+
87
+ # Get enabled connections in an Organization
88
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_enabled_connections
89
+ # @param organization_id [string] The Organization ID
90
+ #
91
+ # @return [json] Returns the enabled connections for the given organization
92
+ def get_organizations_enabled_connections(organization_id)
93
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
94
+ path = "#{organizations_enabled_connections_path(organization_id)}"
95
+ get(path)
96
+ end
97
+
98
+ # Get enabled connection by id in an Organization
99
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_enabled_connections_by_connectionId
100
+ # @param organization_id [string] The Organization ID
101
+ # @param connection_id [string] The Connection id
102
+ #
103
+ # @return [json] Returns the connection for the given organization
104
+ def get_organizations_enabled_connection(organization_id, connection_id)
105
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
106
+ raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty?
107
+ path = "#{organizations_enabled_connections_path(organization_id)}/#{connection_id}"
108
+ get(path)
109
+ end
110
+
111
+ # Update an eanbled connection in an Organization
112
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/patch_enabled_connections_by_connectionId
113
+ # @param organization_id [string] The Organization ID
114
+ # @param connection_id [string] The Connection id
115
+ # @param assign_membership_on_login [boolean] flag to allow assign membership on login
116
+ #
117
+ # @return [json] Returns the connection for the given organization
118
+ def patch_organizations_enabled_connection(organization_id, connection_id, assign_membership_on_login: nil)
119
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
120
+ raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty?
121
+ raise Auth0::InvalidParameter, 'Must supply a valid assign_membership_on_login value' if assign_membership_on_login.nil?
122
+ path = "#{organizations_enabled_connections_path(organization_id)}/#{connection_id}"
123
+
124
+ body = {}
125
+ body[:assign_membership_on_login] = assign_membership_on_login
126
+
127
+ patch(path, body)
128
+ end
129
+ alias update_organizations_enabled_connection patch_organizations_enabled_connection
130
+
131
+ # Add an enabled connection for an Organization
132
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/post_enabled_connections
133
+ # @param organization_id [string] The Organization ID
134
+ # @param connection_id [string] The Connection ID
135
+ # @param assign_membership_on_login [boolean] flag to allow assign membership on login
136
+ #
137
+ # @return [json] Returns the connection for the given organization
138
+ def create_organizations_enabled_connection(organization_id, connection_id, assign_membership_on_login: false)
139
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
140
+ raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty?
141
+ path = "#{organizations_enabled_connections_path(organization_id)}"
142
+
143
+ body = {}
144
+ body[:assign_membership_on_login] = assign_membership_on_login
145
+ body[:connection_id] = connection_id
146
+
147
+ post(path, body)
148
+ end
149
+ alias add_organizations_enabled_connection create_organizations_enabled_connection
150
+
151
+ # Remove an enabled connection from an Organization
152
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/delete_enabled_connections_by_connectionId
153
+ # @param organization_id [string] The Organization ID
154
+ # @param connection_id [string] The Connection id
155
+ def delete_organizations_enabled_connection(organization_id, connection_id)
156
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
157
+ raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty?
158
+ path = "#{organizations_enabled_connections_path(organization_id)}/#{connection_id}"
159
+ delete(path)
160
+ end
161
+ alias remove_organizations_enabled_connection delete_organizations_enabled_connection
162
+
163
+ ### Organization Invites
164
+
165
+ # Get invites in an Organization
166
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_invitations
167
+ # @param organization_id [string] The Organization ID
168
+ #
169
+ # @return [json] Returns the invites for the given organization
170
+ def get_organizations_invites(organization_id)
171
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
172
+ path = "#{organizations_invitations_path(organization_id)}"
173
+ get(path)
174
+ end
175
+
176
+ # Get invite by id in an Organization
177
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_invitations_by_invitation_id
178
+ # @param organization_id [string] The Organization ID
179
+ # @param invitation_id [string] The Invitation ID
180
+ #
181
+ # @return [json] Returns the invitation for the given organization
182
+ def get_organizations_invite(organization_id, invitation_id)
183
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
184
+ raise Auth0::InvalidParameter, 'Must supply a valid invitation id' if invitation_id.to_s.empty?
185
+ path = "#{organizations_invitations_path(organization_id)}/#{invitation_id}"
186
+ get(path)
187
+ end
188
+
189
+ # Create an invitation in an organization
190
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/post_invitations
191
+ # @param organization_id [string] The Organization ID
192
+ # @param options [hash] See https://auth0.com/docs/api/management/v2/#!/Organizations/post_invitations
193
+ # @return [json] Returns the invitation for the given organization
194
+ def create_organizations_invite(organization_id, options = {})
195
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
196
+ path = "#{organizations_invitations_path(organization_id)}"
197
+
198
+ post(path, options)
199
+ end
200
+ alias add_organizations_invite create_organizations_invite
201
+
202
+ # Delete an invitation to organization
203
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/delete_invitations_by_invitation_id
204
+ # @param organization_id [string] The Organization ID
205
+ # @param invitation_id [string] The Invitation ID
206
+ def delete_organizations_invite(organization_id, invitation_id)
207
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
208
+ raise Auth0::InvalidParameter, 'Must supply a valid invitation id' if invitation_id.to_s.empty?
209
+ path = "#{organizations_invitations_path(organization_id)}/#{invitation_id}"
210
+ delete(path)
211
+ end
212
+ alias remove_organizations_invite delete_organizations_invite
213
+
214
+ ### Organization Member
215
+
216
+ # Get Members in a Organization
217
+ # Member roles are not sent by default. Use `fields=roles` to retrieve the roles assigned to each listed member.
218
+ # To use this parameter, you must include the `read:organization_member_roles scope` in the token.
219
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_members
220
+ # @param organization_id [string] The Organization ID
221
+ # @param options [hash] The Hash options used to define the paging of rersults
222
+ # * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100.
223
+ # * :page [integer] The page number. Zero based.
224
+ # * :from [string] For checkpoint pagination, the ID from which to start selection from.
225
+ # * :take [integer] For checkpoint pagination, the number of entries to retrieve. Default is 50.
226
+ # * :include_totals [boolean] True to include query summary in the result, false or nil otherwise.
227
+ # * :fields [string] A comma separated list of fields to include or exclude from the result. If fields is left blank, all fields (except roles) are returned.
228
+ # * :include_fields [boolean] True if the fields specified are to be included in the result, false otherwise.
229
+ #
230
+ # @return [json] Returns the members for the given organization
231
+ def get_organizations_members(organization_id, options = {})
232
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
233
+ request_params = {
234
+ per_page: options.fetch(:per_page, nil),
235
+ page: options.fetch(:page, nil),
236
+ from: options.fetch(:from, nil),
237
+ take: options.fetch(:take, nil),
238
+ include_totals: options.fetch(:include_totals, nil),
239
+ fields: options.fetch(:fields, nil),
240
+ include_fields: options.fetch(:include_fields, nil)
241
+ }
242
+ path = "#{organizations_members_path(organization_id)}"
243
+ get(path, request_params)
244
+ end
245
+
246
+ # Add members in an organization
247
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/post_members
248
+ # @param organization_id [string] The Organization ID
249
+ # @param members [array] Array of user IDs.
250
+ #
251
+ # @return [json] Returns the invitation for the given organization
252
+ def create_organizations_members(organization_id, members = [])
253
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
254
+ raise Auth0::InvalidParameter, 'Must supply an array of member ids' if members.empty?
255
+ path = "#{organizations_members_path(organization_id)}"
256
+
257
+ body = {}
258
+ body[:members] = members
259
+
260
+ post(path, body)
261
+ end
262
+ alias add_organizations_members create_organizations_members
263
+
264
+ # Remove members from an organization
265
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/delete_members
266
+ # @param organization_id [string] The Organization ID
267
+ # @param members [array] Array of user IDs.
268
+ def delete_organizations_members(organization_id, members = [])
269
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
270
+ raise Auth0::InvalidParameter, 'Must supply an array of member ids' if members.empty?
271
+ path = "#{organizations_members_path(organization_id)}"
272
+
273
+ body = {}
274
+ body[:members] = members
275
+
276
+ delete_with_body(path, body)
277
+ end
278
+ alias remove_organizations_members delete_organizations_members
279
+
280
+ ### Organization Member Roles
281
+
282
+ # Get Roles assigned to a Member in an Organization
283
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_organization_member_roles
284
+ # @param organization_id [string] The Organization ID
285
+ # @param user_id [string] The User ID
286
+ #
287
+ # @return [json] Returns the member_roles for the given organization
288
+ def get_organizations_member_roles(organization_id, user_id)
289
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
290
+ raise Auth0::InvalidParameter, 'Must supply a valid user id' if user_id.to_s.empty?
291
+ path = "#{organizations_member_roles_path(organization_id, user_id)}"
292
+ get(path)
293
+ end
294
+
295
+ # Assign roles to a member in an organization
296
+ # @see https://auth0.com/docs/api/management/v2/#!/Organizations/post_organization_member_roles
297
+ # @param organization_id [string] The Organization ID
298
+ # @param user_id [string] The User ID
299
+ # @param roles [array] Array of role IDs.
300
+ #
301
+ # @return [json] Returns the invitation for the given organization
302
+ def create_organizations_member_roles(organization_id, user_id, roles = [])
303
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
304
+ raise Auth0::InvalidParameter, 'Must supply a valid user id' if user_id.to_s.empty?
305
+ raise Auth0::InvalidParameter, 'Must supply an array of role ids' if roles.empty?
306
+ path = "#{organizations_member_roles_path(organization_id, user_id)}"
307
+
308
+ body = {}
309
+ body[:roles] = roles
310
+
311
+ post(path, body)
312
+ end
313
+ alias add_organizations_member_roles create_organizations_member_roles
314
+
315
+ # Remove roles from a Member of an organization
316
+ # @https://auth0.com/docs/api/management/v2/#!/Organizations/delete_organization_member_roles
317
+ # @param organization_id [string] The Organization ID
318
+ # @param user_id [string] The User ID
319
+ # @param roles [array] Array of role IDs.
320
+ def delete_organizations_member_roles(organization_id, user_id, roles = [])
321
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
322
+ raise Auth0::InvalidParameter, 'Must supply a valid user id' if user_id.to_s.empty?
323
+ raise Auth0::InvalidParameter, 'Must supply an array of role ids' if roles.empty?
324
+ path = "#{organizations_member_roles_path(organization_id, user_id)}"
325
+
326
+ body = {}
327
+ body[:roles] = roles
328
+
329
+ delete_with_body(path, body)
330
+ end
331
+ alias remove_organizations_member_roles delete_organizations_member_roles
332
+
333
+ # Get client grants associated to an organization
334
+ # @param organization_id [string] The Organization ID
335
+ # @param options [hash] The Hash options used to define the paging of results
336
+ # * :client_id [string] The client_id of the client grant to retrieve.
337
+ # * :audience [string] The audience of the client grant to retrieve.
338
+ # * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100.
339
+ # * :page [integer] The page number. Zero based.
340
+ # * :include_totals [boolean] True to include query summary in the result, false or nil otherwise.
341
+ def get_organizations_client_grants(organization_id, options= {})
342
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
343
+ request_params = {
344
+ client_id: options.fetch(:client_id, nil),
345
+ audience: options.fetch(:audience, nil),
346
+ per_page: options.fetch(:per_page, nil),
347
+ page: options.fetch(:page, nil),
348
+ include_totals: options.fetch(:include_totals, nil)
349
+ }
350
+ path = "#{organizations_client_grants_path(organization_id)}"
351
+ get(path, request_params)
352
+ end
353
+
354
+ # Associate a client grant with an organization
355
+ # @param organization_id [string] The Organization ID
356
+ # @param grant_id [string] The Client Grant ID you want to associate to the Organization.
357
+ def create_organizations_client_grant(organization_id, grant_id)
358
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
359
+ raise Auth0::InvalidParameter, 'Must supply a valid grant_id' if grant_id.to_s.empty?
360
+
361
+ body = {}
362
+ body[:grant_id] = grant_id
363
+
364
+ path = "#{organizations_client_grants_path(organization_id)}"
365
+ post(path, body)
366
+ end
367
+
368
+ # Remove a client grant from an organization
369
+ # @param organization_id [string] The Organization ID
370
+ # @param grant_id [string] The Client Grant ID you want to remove from the Organization.
371
+ def delete_organizations_client_grant(organization_id, grant_id)
372
+ raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
373
+ raise Auth0::InvalidParameter, 'Must supply a valid grant_id' if grant_id.to_s.empty?
374
+
375
+ path = "#{organizations_path}/#{organization_id}/client-grants/#{grant_id}"
376
+ delete(path)
377
+ end
378
+
379
+ private
380
+ # Organizations API path
381
+ def organizations_path
382
+ @organizations_path ||= '/api/v2/organizations'
383
+ end
384
+
385
+ def organizations_enabled_connections_path(org_id)
386
+ "#{organizations_path}/#{org_id}/enabled_connections"
387
+ end
388
+
389
+ def organizations_members_path(org_id)
390
+ "#{organizations_path}/#{org_id}/members"
391
+ end
392
+
393
+ def organizations_member_roles_path(org_id, user_id)
394
+ "#{organizations_path}/#{org_id}/members/#{user_id}/roles"
395
+ end
396
+
397
+ def organizations_invitations_path(org_id)
398
+ "#{organizations_path}/#{org_id}/invitations"
399
+ end
400
+
401
+ def organizations_client_grants_path(org_id)
402
+ "#{organizations_path}/#{org_id}/client-grants"
403
+ end
404
+ end
405
+ end
406
+ end
407
+ end
@@ -0,0 +1,70 @@
1
+ module Auth0
2
+ module Api
3
+ module V2
4
+ module Prompts
5
+ attr_reader :prompts_path
6
+
7
+ # Get prompts settings.
8
+ # @see https://auth0.com/docs/api/management/v2#!/Prompts/get_prompts
9
+ # @return [json] Returns the prompts setting.
10
+ def prompts
11
+ get(prompts_path)
12
+ end
13
+ alias get_prompts prompts
14
+
15
+ # Update prompts settings.
16
+ # @see https://auth0.com/docs/api/management/v2#!/Prompts/patch_prompts
17
+ # @param options [hash]
18
+ # * :universal_login_experience [string] Should be any of: new, classic.
19
+ #
20
+ # @return [json] Returns the prompts settings.
21
+ def patch_prompts(options = {})
22
+ request_params = {
23
+ universal_login_experience: options.fetch(:universal_login_experience, nil)
24
+ }
25
+ patch(prompts_path, request_params)
26
+ end
27
+ alias update_prompts patch_prompts
28
+
29
+ # Get custom text for a prompt
30
+ # Retrieve custom text for a specific prompt and language.
31
+ # @see https://auth0.com/docs/api/management/v2#!/Prompts/get_custom_text_by_language
32
+ # @param prompt [string] Prompt of custom texts to update.
33
+ # @param language [string] Language of custom texts to update.
34
+ #
35
+ # @return [json] Returns the custom texts.
36
+ def custom_text(prompt, language)
37
+ raise Auth0::InvalidParameter, 'Must supply a valid prompt' if prompt.to_s.empty?
38
+ raise Auth0::InvalidParameter, 'Must supply a valid language' if language.to_s.empty?
39
+
40
+ path = "#{prompts_path}/#{prompt}/custom-text/#{language}"
41
+ get(path)
42
+ end
43
+ alias get_custom_text custom_text
44
+
45
+ # Set custom text for a specific prompt
46
+ # Existing texts will be overwritten.
47
+ # @see https://auth0.com/docs/api/management/v2#!/Prompts/put_custom_text_by_language
48
+ # @param prompt [string] Prompt of custom texts to update.
49
+ # @param language [string] Language of custom texts to update.
50
+ # @param body [hash] Custom texts.
51
+ #
52
+ # @return [json] Returns the custom texts.
53
+ def put_custom_text(prompt, language, body)
54
+ raise Auth0::InvalidParameter, 'Must supply a valid prompt' if prompt.to_s.empty?
55
+ raise Auth0::InvalidParameter, 'Must supply a valid language' if language.to_s.empty?
56
+
57
+ path = "#{prompts_path}/#{prompt}/custom-text/#{language}"
58
+ put(path, body)
59
+ end
60
+ alias update_custom_text put_custom_text
61
+
62
+ private
63
+
64
+ def prompts_path
65
+ @prompts_path ||= '/api/v2/prompts'
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module Api
5
+ module V2
6
+ # Methods to use the Refresh Token endpoints
7
+ module RefreshTokens
8
+ # Retrieve refresh token information.
9
+ # @see https://auth0.com/docs/api/management/v2/refresh-tokens/get-refresh-token
10
+ # @param id [string] The id of the refresh token to retrieve
11
+ def refresh_token(id)
12
+ raise Auth0::InvalidParameter, 'Must supply a valid id' if id.to_s.empty?
13
+
14
+ get "#{resource_path}/#{id}"
15
+ end
16
+
17
+ # Delete a refresh token by its ID.
18
+ # @see https://auth0.com/docs/api/management/v2/refresh-tokens/delete-refresh-token
19
+ # @param id [string] The id of the refresh token to delete
20
+ def delete_refresh_token(id)
21
+ raise Auth0::InvalidParameter, 'Must supply a valid id' if id.to_s.empty?
22
+
23
+ delete "#{resource_path}/#{id}"
24
+ end
25
+
26
+ private
27
+
28
+ def resource_path
29
+ @resource_path ||= '/api/v2/refresh-tokens'
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -87,13 +87,17 @@ module Auth0
87
87
  # @param options [hash] A hash of options for getting Roles
88
88
  # - per_page: Number of Roles to return.
89
89
  # - page: Page number to return, zero-based.
90
- # - include_totals: True to include query summary in the result, false or nil otherwise.
90
+ # * :from [string] For checkpoint pagination, the ID from which to start selection from.
91
+ # * :take [integer] For checkpoint pagination, the number of entries to retrieve. Default is 50.
92
+ # * :include_totals [boolean] True to include query summary in the result, false or nil otherwise.
91
93
  def get_role_users(role_id, options = {})
92
94
  raise Auth0::MissingParameter, 'Must supply a valid role_id' if role_id.to_s.empty?
93
95
 
94
96
  request_params = {
95
- per_page: options.fetch(:per_page, nil),
96
- page: options.fetch(:page, nil),
97
+ per_page: options.fetch(:per_page, nil),
98
+ page: options.fetch(:page, nil),
99
+ from: options.fetch(:from, nil),
100
+ take: options.fetch(:take, nil),
97
101
  include_totals: options.fetch(:include_totals, nil)
98
102
  }
99
103
  get "#{roles_path}/#{role_id}/users", request_params
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Auth0
4
+ module Api
5
+ module V2
6
+ # Methods to use the Session endpoints
7
+ module Sessions
8
+ # Retrieve session information by id
9
+ # @see https://auth0.com/docs/api/management/v2/sessions/get-session
10
+ # @param id [string] The id of the session to retrieve.
11
+ def session(session_id)
12
+ raise Auth0::InvalidParameter, 'Must supply a valid session_id' if session_id.to_s.empty?
13
+
14
+ get "#{sessions_path}/#{session_id}"
15
+ end
16
+
17
+ # Deletes a session by id
18
+ # @see https://auth0.com/docs/api/management/v2/sessions/delete-session
19
+ # @param id [string] The id of the session to delete.
20
+ def delete_session(session_id)
21
+ raise Auth0::InvalidParameter, 'Must supply a valid session_id' if session_id.to_s.empty?
22
+
23
+ delete "#{sessions_path}/#{session_id}"
24
+ end
25
+
26
+ # Revokes a session by ID and all associated refresh tokens
27
+ # @see https://auth0.com/docs/api/management/v2/sessions/revoke-session
28
+ # @param id [string] The ID of the session to revoke
29
+ def revoke_session(session_id)
30
+ raise Auth0::InvalidParameter, 'Must supply a valid session_id' if session_id.to_s.empty?
31
+
32
+ post "#{sessions_path}/#{session_id}/revoke"
33
+ end
34
+
35
+ private
36
+
37
+ def sessions_path
38
+ @sessions_path ||= '/api/v2/sessions'
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end