auth0 4.17.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 (357) hide show
  1. checksums.yaml +4 -4
  2. data/.version +1 -0
  3. data/CHANGELOG.md +407 -22
  4. data/README.md +80 -178
  5. data/auth0.gemspec +10 -15
  6. data/lib/auth0/api/authentication_endpoints.rb +162 -249
  7. data/lib/auth0/api/v2/actions.rb +209 -0
  8. data/lib/auth0/api/v2/attack_protection.rb +79 -0
  9. data/lib/auth0/api/v2/branding.rb +65 -0
  10. data/lib/auth0/api/v2/client_grants.rb +27 -2
  11. data/lib/auth0/api/v2/clients.rb +42 -0
  12. data/lib/auth0/api/v2/connections.rb +14 -5
  13. data/lib/auth0/api/v2/device_credentials.rb +12 -7
  14. data/lib/auth0/api/v2/grants.rb +49 -0
  15. data/lib/auth0/api/v2/jobs.rb +18 -5
  16. data/lib/auth0/api/v2/logs.rb +2 -2
  17. data/lib/auth0/api/v2/organizations.rb +407 -0
  18. data/lib/auth0/api/v2/refresh_tokens.rb +34 -0
  19. data/lib/auth0/api/v2/roles.rb +7 -3
  20. data/lib/auth0/api/v2/sessions.rb +43 -0
  21. data/lib/auth0/api/v2/tickets.rb +14 -2
  22. data/lib/auth0/api/v2/users.rb +203 -12
  23. data/lib/auth0/api/v2.rb +18 -4
  24. data/lib/auth0/client_assertion.rb +45 -0
  25. data/lib/auth0/exception.rb +17 -8
  26. data/lib/auth0/mixins/access_token_struct.rb +2 -2
  27. data/lib/auth0/mixins/api_token_struct.rb +2 -3
  28. data/lib/auth0/mixins/httpproxy.rb +98 -36
  29. data/lib/auth0/mixins/initializer.rb +6 -9
  30. data/lib/auth0/mixins/permission_struct.rb +2 -2
  31. data/lib/auth0/mixins/token_management.rb +35 -0
  32. data/lib/auth0/mixins/validation.rb +33 -6
  33. data/lib/auth0/mixins.rb +2 -1
  34. data/lib/auth0/version.rb +1 -1
  35. metadata +58 -632
  36. data/.bundle/config +0 -4
  37. data/.circleci/config.yml +0 -23
  38. data/.env.example +0 -2
  39. data/.gemrelease +0 -2
  40. data/.github/CODEOWNERS +0 -1
  41. data/.github/ISSUE_TEMPLATE.md +0 -39
  42. data/.github/PULL_REQUEST_TEMPLATE.md +0 -35
  43. data/.github/stale.yml +0 -20
  44. data/.gitignore +0 -14
  45. data/.rspec +0 -3
  46. data/.rubocop.yml +0 -10
  47. data/.rubocop_todo.yml +0 -5
  48. data/CODE_OF_CONDUCT.md +0 -3
  49. data/DEPLOYMENT.md +0 -61
  50. data/Dockerfile +0 -5
  51. data/Gemfile +0 -19
  52. data/Gemfile.lock +0 -227
  53. data/Guardfile +0 -37
  54. data/RUBYGEM.md +0 -9
  55. data/Rakefile +0 -53
  56. data/codecov.yml +0 -22
  57. data/deploy_documentation.sh +0 -29
  58. data/doc_config/templates/default/fulldoc/html/css/full_list.css +0 -79
  59. data/doc_config/templates/default/fulldoc/html/css/style.css +0 -546
  60. data/doc_config/templates/default/layout/html/breadcrumb.erb +0 -11
  61. data/doc_config/templates/default/layout/html/footer.erb +0 -115
  62. data/doc_config/templates/default/layout/html/headers.erb +0 -17
  63. data/doc_config/templates/default/layout/html/layout.erb +0 -27
  64. data/examples/ruby-api/.env.example +0 -2
  65. data/examples/ruby-api/.gitignore +0 -86
  66. data/examples/ruby-api/Gemfile +0 -8
  67. data/examples/ruby-api/README.md +0 -24
  68. data/examples/ruby-api/config.ru +0 -2
  69. data/examples/ruby-api/main.rb +0 -33
  70. data/examples/ruby-on-rails-api/.env.example +0 -2
  71. data/examples/ruby-on-rails-api/.gitignore +0 -18
  72. data/examples/ruby-on-rails-api/Gemfile +0 -48
  73. data/examples/ruby-on-rails-api/README.md +0 -27
  74. data/examples/ruby-on-rails-api/Rakefile +0 -6
  75. data/examples/ruby-on-rails-api/app/assets/images/.keep +0 -0
  76. data/examples/ruby-on-rails-api/app/assets/javascripts/application.js +0 -16
  77. data/examples/ruby-on-rails-api/app/assets/stylesheets/application.css +0 -15
  78. data/examples/ruby-on-rails-api/app/controllers/application_controller.rb +0 -8
  79. data/examples/ruby-on-rails-api/app/controllers/concerns/.keep +0 -0
  80. data/examples/ruby-on-rails-api/app/controllers/ping_controller.rb +0 -6
  81. data/examples/ruby-on-rails-api/app/controllers/secured_ping_controller.rb +0 -11
  82. data/examples/ruby-on-rails-api/app/helpers/application_helper.rb +0 -3
  83. data/examples/ruby-on-rails-api/app/mailers/.keep +0 -0
  84. data/examples/ruby-on-rails-api/app/models/.keep +0 -0
  85. data/examples/ruby-on-rails-api/app/models/User.rb +0 -5
  86. data/examples/ruby-on-rails-api/app/models/concerns/.keep +0 -0
  87. data/examples/ruby-on-rails-api/app/views/layouts/application.html.erb +0 -14
  88. data/examples/ruby-on-rails-api/bin/bundle +0 -3
  89. data/examples/ruby-on-rails-api/bin/rails +0 -4
  90. data/examples/ruby-on-rails-api/bin/rake +0 -4
  91. data/examples/ruby-on-rails-api/bin/setup +0 -29
  92. data/examples/ruby-on-rails-api/config/application.rb +0 -23
  93. data/examples/ruby-on-rails-api/config/boot.rb +0 -4
  94. data/examples/ruby-on-rails-api/config/database.yml +0 -27
  95. data/examples/ruby-on-rails-api/config/environment.rb +0 -5
  96. data/examples/ruby-on-rails-api/config/environments/development.rb +0 -37
  97. data/examples/ruby-on-rails-api/config/environments/production.rb +0 -83
  98. data/examples/ruby-on-rails-api/config/environments/test.rb +0 -41
  99. data/examples/ruby-on-rails-api/config/initializers/backtrace_silencers.rb +0 -7
  100. data/examples/ruby-on-rails-api/config/initializers/cookies_serializer.rb +0 -3
  101. data/examples/ruby-on-rails-api/config/initializers/dotenv.rb +0 -4
  102. data/examples/ruby-on-rails-api/config/initializers/filter_parameter_logging.rb +0 -4
  103. data/examples/ruby-on-rails-api/config/initializers/inflections.rb +0 -16
  104. data/examples/ruby-on-rails-api/config/initializers/knock.rb +0 -35
  105. data/examples/ruby-on-rails-api/config/initializers/mime_types.rb +0 -4
  106. data/examples/ruby-on-rails-api/config/initializers/session_store.rb +0 -3
  107. data/examples/ruby-on-rails-api/config/initializers/wrap_parameters.rb +0 -14
  108. data/examples/ruby-on-rails-api/config/locales/en.yml +0 -23
  109. data/examples/ruby-on-rails-api/config/routes.rb +0 -58
  110. data/examples/ruby-on-rails-api/config/secrets.yml +0 -28
  111. data/examples/ruby-on-rails-api/config.ru +0 -4
  112. data/examples/ruby-on-rails-api/db/schema.rb +0 -15
  113. data/examples/ruby-on-rails-api/db/seeds.rb +0 -7
  114. data/examples/ruby-on-rails-api/lib/assets/.keep +0 -0
  115. data/examples/ruby-on-rails-api/lib/tasks/.keep +0 -0
  116. data/examples/ruby-on-rails-api/log/.keep +0 -0
  117. data/examples/ruby-on-rails-api/public/404.html +0 -67
  118. data/examples/ruby-on-rails-api/public/422.html +0 -67
  119. data/examples/ruby-on-rails-api/public/500.html +0 -66
  120. data/examples/ruby-on-rails-api/public/favicon.ico +0 -0
  121. data/examples/ruby-on-rails-api/public/robots.txt +0 -5
  122. data/examples/ruby-on-rails-api/test/controllers/.keep +0 -0
  123. data/examples/ruby-on-rails-api/test/fixtures/.keep +0 -0
  124. data/examples/ruby-on-rails-api/test/helpers/.keep +0 -0
  125. data/examples/ruby-on-rails-api/test/integration/.keep +0 -0
  126. data/examples/ruby-on-rails-api/test/mailers/.keep +0 -0
  127. data/examples/ruby-on-rails-api/test/models/.keep +0 -0
  128. data/examples/ruby-on-rails-api/test/ping_controller_test.rb +0 -8
  129. data/examples/ruby-on-rails-api/test/secured_ping_controller_test.rb +0 -26
  130. data/examples/ruby-on-rails-api/test/test_helper.rb +0 -16
  131. data/lib/auth0/api/v1/clients.rb +0 -58
  132. data/lib/auth0/api/v1/connections.rb +0 -68
  133. data/lib/auth0/api/v1/logs.rb +0 -43
  134. data/lib/auth0/api/v1/rules.rb +0 -57
  135. data/lib/auth0/api/v1/users.rb +0 -227
  136. data/lib/auth0/api/v1.rb +0 -19
  137. data/publish_rubygem.sh +0 -10
  138. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_change_password/should_trigger_a_password_reset.yml +0 -63
  139. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_email.yml +0 -54
  140. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_password.yml +0 -54
  141. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_invalid_audience.yml +0 -55
  142. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_custom_audience.yml +0 -117
  143. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_default_scope.yml +0 -119
  144. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_saml_metadata/should_retrieve_SAML_metadata.yml +0 -57
  145. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_fail_as_not_authorized.yml +0 -55
  146. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_return_the_userinfo.yml +0 -118
  147. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_wsfed_metadata/should_retrieve_WSFED_metadata.yml +0 -55
  148. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/create_test_user.yml +0 -58
  149. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/delete_test_user.yml +0 -54
  150. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_check_if_ip_is_blocked/should_return_200_response_code.yml +0 -65
  151. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_remove_ip_block/should_remove_an_IP_successfully.yml +0 -60
  152. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_add_token_to_blacklist/should_add_a_token_to_the_blacklist.yml +0 -56
  153. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_blacklisted_tokens/should_get_the_added_token_from_the_blacklist.yml +0 -59
  154. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_at_least_1_result.yml +0 -62
  155. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_first_page_of_one_result.yml +0 -66
  156. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_test_client_grant.yml +0 -62
  157. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_delete_client_grant/should_delete_the_test_client_grant.yml +0 -54
  158. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_patch_client_grant/should_update_the_test_client_grant.yml +0 -64
  159. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client.yml +0 -118
  160. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client_grant.yml +0 -64
  161. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client.yml +0 -54
  162. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client_grant.yml +0 -54
  163. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_exclude_and_include_fields_properly.yml +0 -91
  164. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_include_the_specified_fields.yml +0 -63
  165. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/should_get_the_test_client.yml +0 -92
  166. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_fields_not_specified.yml +0 -60
  167. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_the_specified_fields.yml +0 -132
  168. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_include_the_specified_fields.yml +0 -63
  169. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_paginate_results.yml +0 -65
  170. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/should_get_at_least_one_client.yml +0 -132
  171. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_delete_client/should_delete_the_test_client_without_an_error.yml +0 -54
  172. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_patch_client/should_update_the_client_with_the_correct_attributes.yml +0 -94
  173. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/create_test_client.yml +0 -118
  174. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml +0 -63
  175. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml +0 -61
  176. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml +0 -63
  177. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml +0 -59
  178. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml +0 -59
  179. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml +0 -59
  180. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml +0 -59
  181. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml +0 -59
  182. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml +0 -54
  183. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml +0 -110
  184. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml +0 -66
  185. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml +0 -65
  186. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_user.yml +0 -68
  187. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_delete_device_credential/should_delete_the_test_credential_without_an_error.yml +0 -54
  188. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/_filter_by_type/should_exclude_the_test_credential.yml +0 -59
  189. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_have_at_least_1_entry.yml +0 -62
  190. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_include_the_test_credential.yml +0 -62
  191. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_credential.yml +0 -62
  192. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_user.yml +0 -68
  193. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_credential.yml +0 -54
  194. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_user.yml +0 -54
  195. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_configure_provider/should_configure_a_new_email_provider.yml +0 -63
  196. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_delete_the_existing_email_provider_without_an_error.yml +0 -54
  197. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_throw_an_error_trying_to_get_the_email_provider.yml +0 -51
  198. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_with_specific_fields.yml +0 -60
  199. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_without_specific_fields.yml +0 -61
  200. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/should_get_the_existing_email_provider.yml +0 -61
  201. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_update_provider/should_update_the_existing_email_provider.yml +0 -63
  202. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/delete_existing_provider.yml +0 -54
  203. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_create_an_export_users_job_successfully.yml +0 -61
  204. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_get_the_export_users_job.yml +0 -117
  205. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_create_an_import_users_job_successfully.yml +0 -60
  206. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_get_the_import_users_job.yml +0 -116
  207. 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
  208. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_get_the_completed_verification_email.yml +0 -175
  209. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_reject_an_invalid_client_id.yml +0 -109
  210. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/delete_imported_user.yml +0 -110
  211. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/search_for_connection_id.yml +0 -59
  212. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_match_the_created_log_entry.yml +0 -265
  213. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_not_be_empty.yml +0 -265
  214. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_fields_not_specified.yml +0 -61
  215. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_the_specified_fields.yml +0 -75
  216. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_have_one_log_entry.yml +0 -76
  217. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_include_the_specified_fields.yml +0 -62
  218. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_from/should_take_one_log_entry.yml +0 -258
  219. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/create_test_user.yml +0 -68
  220. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_disabled_rule.yml +0 -54
  221. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_enabled_rule.yml +0 -54
  222. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_user.yml +0 -54
  223. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_delete_resource_server/should_delete_the_test_server_without_an_error.yml +0 -54
  224. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_patch_resource_server/should_update_the_resource_server_with_the_correct_attributes.yml +0 -61
  225. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_server/should_get_the_test_server.yml +0 -59
  226. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_get_the_test_server.yml +0 -59
  227. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_at_least_1_result.yml +0 -59
  228. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_the_first_page_of_one_result.yml +0 -64
  229. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/create_test_server.yml +0 -61
  230. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/delete_test_server.yml +0 -54
  231. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_permissions/should_add_a_Permission_to_the_Role_successfully.yml +0 -69
  232. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_users/should_add_a_User_to_the_Role_successfully.yml +0 -69
  233. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_delete_role/should_delete_the_Role_successfully.yml +0 -62
  234. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role/should_get_the_Role_successfully.yml +0 -67
  235. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_exactly_1_Permission.yml +0 -67
  236. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_the_added_Permission_from_the_Role_successfully.yml +0 -67
  237. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_exactly_1_User.yml +0 -67
  238. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_the_added_User_from_the_Role_successfully.yml +0 -67
  239. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_roles/should_get_the_Role_successfully.yml +0 -67
  240. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_remove_role_permissions/should_remove_a_Permission_from_the_Role_successfully.yml +0 -64
  241. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_update_role/should_update_the_Role_successfully.yml +0 -69
  242. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_api.yml +0 -69
  243. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_role.yml +0 -69
  244. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_user.yml +0 -69
  245. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_api.yml +0 -62
  246. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_user.yml +0 -62
  247. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_disabled_rule_without_an_error.yml +0 -54
  248. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_enabled_rule_without_an_error.yml +0 -54
  249. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_fields_not_specified.yml +0 -62
  250. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_specified_fields.yml +0 -62
  251. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_include_the_specified_fields.yml +0 -61
  252. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/should_get_a_specific_rule.yml +0 -62
  253. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_exclude_fields_not_specified.yml +0 -60
  254. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_include_the_specified_fields.yml +0 -61
  255. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_disabled_rule.yml +0 -63
  256. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_enabled_rule.yml +0 -62
  257. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_paginated_results.yml +0 -128
  258. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/should_return_at_least_1_rule.yml +0 -64
  259. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_update_rule/should_update_the_disabled_rule_to_be_enabled.yml +0 -64
  260. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_disabled_rule.yml +0 -65
  261. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_enabled_rule.yml +0 -65
  262. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_active_users/should_have_at_least_one_active_user.yml +0 -59
  263. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_daily_stats/should_have_at_least_one_stats_entry_for_the_timeframe.yml +0 -63
  264. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings/should_get_the_tenant_settings.yml +0 -95
  265. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_exclude_a_field_not_requested.yml +0 -61
  266. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_include_the_field_requested.yml +0 -61
  267. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_revert_the_tenant_name.yml +0 -96
  268. 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
  269. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_email_verification/should_create_an_email_verification_ticket.yml +0 -63
  270. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_password_change/should_create_a_password_change_ticket.yml +0 -63
  271. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/create_test_user.yml +0 -68
  272. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/delete_test_user.yml +0 -54
  273. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_permissions/should_add_a_Permissions_for_a_User_successfully.yml +0 -67
  274. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_roles/should_add_a_Role_to_a_User_successfully.yml +0 -62
  275. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_User_successfully.yml +0 -60
  276. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_secondary_User_successfully.yml +0 -60
  277. 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
  278. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_enrollments/should_get_Enrollments_for_a_User_successfully.yml +0 -65
  279. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_exactly_1_Permission_for_a_User_successfully.yml +0 -65
  280. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_the_correct_Permission_for_a_User_successfully.yml +0 -65
  281. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_roles/should_get_Roles_for_a_User_successfully.yml +0 -65
  282. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_invalidate_browsers/should_invalidate_MFA_browsers_for_the_User_successfully.yml +0 -62
  283. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_link_user_account/should_link_two_Users_successfully.yml +0 -67
  284. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_patch_user/should_patch_the_User_successfully.yml +0 -68
  285. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_permissions/should_remove_a_Permission_from_a_User_successfully.yml +0 -62
  286. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_roles/should_remove_a_Role_from_a_User_successfully.yml +0 -62
  287. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_unlink_user_account/should_unlink_two_Users_successfully.yml +0 -65
  288. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_fields_not_indicated.yml +0 -65
  289. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_the_fields_indicated.yml +0 -65
  290. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_include_the_fields_indicated.yml +0 -65
  291. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/should_retrieve_the_created_user.yml +0 -65
  292. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user_logs/should_get_Logs_for_a_User_successfully.yml +0 -69
  293. 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
  294. 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
  295. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_exclude_the_indicated_fields_when_paginated.yml +0 -65
  296. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_include_the_indicated_fields_when_paginated.yml +0 -65
  297. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_not_include_other_fields_when_paginated.yml +0 -65
  298. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_return_the_correct_number_of_results_when_paginated.yml +0 -65
  299. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/should_have_at_least_one_user.yml +0 -65
  300. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_secondary_test_user.yml +0 -67
  301. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_api.yml +0 -67
  302. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_role.yml +0 -67
  303. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_user.yml +0 -67
  304. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_api.yml +0 -60
  305. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_role.yml +0 -60
  306. data/spec/integration/lib/auth0/api/api_authentication_spec.rb +0 -120
  307. data/spec/integration/lib/auth0/api/v2/api_anomaly_spec.rb +0 -17
  308. data/spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb +0 -27
  309. data/spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb +0 -75
  310. data/spec/integration/lib/auth0/api/v2/api_clients_spec.rb +0 -166
  311. data/spec/integration/lib/auth0/api/v2/api_connections_spec.rb +0 -159
  312. data/spec/integration/lib/auth0/api/v2/api_device_credentials_spec.rb +0 -128
  313. data/spec/integration/lib/auth0/api/v2/api_email_spec.rb +0 -117
  314. data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +0 -124
  315. data/spec/integration/lib/auth0/api/v2/api_logs_spec.rb +0 -91
  316. data/spec/integration/lib/auth0/api/v2/api_resource_servers_spec.rb +0 -130
  317. data/spec/integration/lib/auth0/api/v2/api_roles_spec.rb +0 -145
  318. data/spec/integration/lib/auth0/api/v2/api_rules_spec.rb +0 -177
  319. data/spec/integration/lib/auth0/api/v2/api_stats_spec.rb +0 -22
  320. data/spec/integration/lib/auth0/api/v2/api_tenants_spec.rb +0 -59
  321. data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +0 -59
  322. data/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb +0 -73
  323. data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +0 -300
  324. data/spec/integration/lib/auth0/auth0_client_spec.rb +0 -90
  325. data/spec/lib/auth0/api/authentication_endpoints_spec.rb +0 -703
  326. data/spec/lib/auth0/api/v2/anomaly_spec.rb +0 -26
  327. data/spec/lib/auth0/api/v2/blacklists_spec.rb +0 -25
  328. data/spec/lib/auth0/api/v2/client_grants_spec.rb +0 -76
  329. data/spec/lib/auth0/api/v2/clients_spec.rb +0 -104
  330. data/spec/lib/auth0/api/v2/connections_spec.rb +0 -140
  331. data/spec/lib/auth0/api/v2/device_credentials_spec.rb +0 -73
  332. data/spec/lib/auth0/api/v2/emails_spec.rb +0 -47
  333. data/spec/lib/auth0/api/v2/guardian_spec.rb +0 -154
  334. data/spec/lib/auth0/api/v2/jobs_spec.rb +0 -128
  335. data/spec/lib/auth0/api/v2/log_streams_spec.rb +0 -84
  336. data/spec/lib/auth0/api/v2/logs_spec.rb +0 -48
  337. data/spec/lib/auth0/api/v2/prompts_spec.rb +0 -88
  338. data/spec/lib/auth0/api/v2/resource_servers_spec.rb +0 -86
  339. data/spec/lib/auth0/api/v2/roles_spec.rb +0 -362
  340. data/spec/lib/auth0/api/v2/rules_spec.rb +0 -95
  341. data/spec/lib/auth0/api/v2/stats_spec.rb +0 -22
  342. data/spec/lib/auth0/api/v2/tenants_spec.rb +0 -26
  343. data/spec/lib/auth0/api/v2/tickets_spec.rb +0 -63
  344. data/spec/lib/auth0/api/v2/user_blocks_spec.rb +0 -52
  345. data/spec/lib/auth0/api/v2/users_by_email_spec.rb +0 -21
  346. data/spec/lib/auth0/api/v2/users_spec.rb +0 -542
  347. data/spec/lib/auth0/client_spec.rb +0 -153
  348. data/spec/lib/auth0/mixins/httpproxy_spec.rb +0 -304
  349. data/spec/lib/auth0/mixins/initializer_spec.rb +0 -30
  350. data/spec/lib/auth0/mixins/validation_spec.rb +0 -466
  351. data/spec/spec_helper.rb +0 -63
  352. data/spec/support/credentials.rb +0 -30
  353. data/spec/support/dummy_class.rb +0 -18
  354. data/spec/support/dummy_class_for_proxy.rb +0 -5
  355. data/spec/support/dummy_class_for_restclient.rb +0 -2
  356. data/spec/support/import_users.json +0 -13
  357. data/spec/support/stub_response.rb +0 -1
@@ -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,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
@@ -15,9 +15,11 @@ module Auth0
15
15
  # @param identity [hash] Used to verify secondary, federated, and passwordless-email identities.
16
16
  # * :user_id [string] user_id of the identity.
17
17
  # * :provider [string] provider of the identity.
18
+ # @param client_id [string] client id
19
+ # @param organization_id [string] organization id
18
20
  #
19
21
  # @return [json] Returns the created ticket url.
20
- def post_email_verification(user_id, result_url: nil, ttl_sec: nil, identity: nil)
22
+ def post_email_verification(user_id, result_url: nil, ttl_sec: nil, identity: nil, client_id: nil, organization_id: nil)
21
23
  if user_id.to_s.empty?
22
24
  raise Auth0::InvalidParameter, 'Must supply a valid user id to post an email verification'
23
25
  end
@@ -27,6 +29,8 @@ module Auth0
27
29
  result_url: result_url,
28
30
  ttl_sec: ttl_sec.is_a?(Integer) ? ttl_sec : nil
29
31
  }
32
+ request_params[:client_id] = client_id unless client_id.nil?
33
+ request_params[:organization_id] = organization_id unless organization_id.nil?
30
34
 
31
35
  if identity
32
36
  unless identity.is_a? Hash
@@ -53,6 +57,8 @@ module Auth0
53
57
  # @param includeEmailInRedirect [boolean] Whether or not we include the email as part of the returnUrl
54
58
  # in the reset_email
55
59
  # @param new_password [string] The password to be set for the user once the ticket is used.
60
+ # @param client_id [string] client id
61
+ # @param organization_id [string] organization id
56
62
  #
57
63
  # @return [json] Returns the created ticket url.
58
64
  def post_password_change(
@@ -63,7 +69,10 @@ module Auth0
63
69
  ttl_sec: nil,
64
70
  mark_email_as_verified: nil,
65
71
  includeEmailInRedirect: nil,
66
- new_password: nil)
72
+ new_password: nil,
73
+ client_id: nil,
74
+ organization_id: nil
75
+ )
67
76
 
68
77
  booleans = [true, false]
69
78
  path = "#{tickets_path}/password-change"
@@ -77,6 +86,9 @@ module Auth0
77
86
  includeEmailInRedirect: booleans.include?(includeEmailInRedirect) ? includeEmailInRedirect : nil,
78
87
  new_password: new_password
79
88
  }
89
+ request_params[:client_id] = client_id unless client_id.nil?
90
+ request_params[:organization_id] = organization_id unless organization_id.nil?
91
+
80
92
  post(path, request_params)
81
93
  end
82
94