auth0 5.3.0 → 5.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (214) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -0
  3. data/.shiprc +7 -0
  4. data/CHANGELOG.md +109 -31
  5. data/Gemfile +1 -0
  6. data/README.md +10 -8
  7. data/auth0.gemspec +2 -1
  8. data/lib/auth0/api/authentication_endpoints.rb +40 -16
  9. data/lib/auth0/api/v2/actions.rb +210 -0
  10. data/lib/auth0/api/v2/branding.rb +0 -1
  11. data/lib/auth0/api/v2/grants.rb +49 -0
  12. data/lib/auth0/api/v2.rb +4 -0
  13. data/lib/auth0/exception.rb +12 -0
  14. data/lib/auth0/mixins/api_token_struct.rb +0 -1
  15. data/lib/auth0/mixins/httpproxy.rb +77 -34
  16. data/lib/auth0/mixins/initializer.rb +2 -3
  17. data/lib/auth0/mixins/token_management.rb +32 -0
  18. data/lib/auth0/mixins/validation.rb +1 -1
  19. data/lib/auth0/mixins.rb +2 -0
  20. data/lib/auth0/version.rb +1 -1
  21. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_change_password/should_trigger_a_password_reset.yml +53 -23
  22. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_email.yml +49 -18
  23. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_password.yml +49 -18
  24. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_invalid_audience.yml +46 -15
  25. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_custom_audience.yml +49 -79
  26. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_default_scope.yml +49 -80
  27. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_saml_metadata/should_retrieve_SAML_metadata.yml +74 -21
  28. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_fail_as_not_authorized.yml +53 -14
  29. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_return_the_userinfo.yml +106 -48
  30. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_wsfed_metadata/should_retrieve_WSFED_metadata.yml +62 -19
  31. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/create_test_user.yml +57 -22
  32. data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/delete_test_user.yml +38 -20
  33. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_add_token_to_blacklist/should_add_a_token_to_the_blacklist.yml +37 -19
  34. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_blacklisted_tokens/should_get_the_added_token_from_the_blacklist.yml +38 -23
  35. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_at_least_1_result.yml +42 -26
  36. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_test_client_grant.yml +42 -26
  37. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_delete_client_grant/should_delete_the_test_client_grant.yml +38 -20
  38. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_patch_client_grant/should_update_the_test_client_grant.yml +39 -27
  39. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client.yml +44 -82
  40. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client_grant.yml +39 -27
  41. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client.yml +38 -20
  42. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client_grant.yml +38 -20
  43. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_exclude_and_include_fields_properly.yml +43 -56
  44. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_include_the_specified_fields.yml +39 -28
  45. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/should_get_the_test_client.yml +43 -57
  46. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_fields_not_specified.yml +43 -24
  47. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_the_specified_fields.yml +236 -96
  48. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_include_the_specified_fields.yml +52 -27
  49. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_paginate_results.yml +39 -25
  50. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/should_get_at_least_one_client.yml +235 -96
  51. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_delete_client/should_delete_the_test_client_without_an_error.yml +38 -20
  52. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_patch_client/should_update_the_client_with_the_correct_attributes.yml +43 -57
  53. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/create_test_client.yml +45 -82
  54. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml +15 -16
  55. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml +15 -16
  56. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml +15 -16
  57. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml +14 -15
  58. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml +14 -15
  59. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml +14 -15
  60. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml +15 -15
  61. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml +15 -15
  62. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml +15 -16
  63. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml +29 -27
  64. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml +15 -16
  65. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml +16 -17
  66. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_user.yml +40 -32
  67. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_credential.yml +40 -30
  68. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_user.yml +40 -32
  69. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_user.yml +38 -20
  70. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_configure_provider/should_configure_a_new_email_provider.yml +37 -28
  71. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_delete_the_existing_email_provider_without_an_error.yml +37 -19
  72. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_throw_an_error_trying_to_get_the_email_provider.yml +34 -16
  73. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_with_specific_fields.yml +36 -27
  74. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_without_specific_fields.yml +36 -28
  75. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/should_get_the_existing_email_provider.yml +36 -28
  76. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_update_provider/should_update_the_existing_email_provider.yml +36 -28
  77. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/delete_existing_provider.yml +37 -19
  78. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_create_an_export_users_job_successfully.yml +38 -23
  79. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_get_the_export_users_job.yml +76 -46
  80. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_create_an_import_users_job_successfully.yml +46 -25
  81. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_get_the_import_users_job.yml +84 -48
  82. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_create_a_new_verification_email_job.yml +77 -47
  83. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_get_the_completed_verification_email.yml +116 -71
  84. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_reject_an_invalid_client_id.yml +76 -39
  85. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/delete_imported_user.yml +76 -43
  86. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/search_for_connection_id.yml +43 -23
  87. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_match_the_created_log_entry.yml +224 -196
  88. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_not_be_empty.yml +224 -196
  89. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_fields_not_specified.yml +38 -25
  90. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_the_specified_fields.yml +39 -39
  91. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_have_one_log_entry.yml +41 -40
  92. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_include_the_specified_fields.yml +38 -26
  93. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_from/should_take_one_log_entry.yml +229 -189
  94. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/create_test_user.yml +40 -32
  95. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_disabled_rule.yml +38 -20
  96. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_enabled_rule.yml +38 -20
  97. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_user.yml +38 -20
  98. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_delete_resource_server/should_delete_the_test_server_without_an_error.yml +38 -20
  99. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_patch_resource_server/should_update_the_resource_server_with_the_correct_attributes.yml +39 -24
  100. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_server/should_get_the_test_server.yml +39 -24
  101. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_get_the_test_server.yml +146 -23
  102. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_at_least_1_result.yml +146 -23
  103. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_the_first_page_of_one_result.yml +131 -24
  104. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/create_test_server.yml +40 -25
  105. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/delete_test_server.yml +38 -20
  106. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_permissions/should_add_a_Permission_to_the_Role_successfully.yml +39 -32
  107. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_users/should_add_a_User_to_the_Role_successfully.yml +38 -31
  108. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_delete_role/should_delete_the_Role_successfully.yml +42 -30
  109. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role/should_get_the_Role_successfully.yml +38 -30
  110. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_exactly_1_Permission.yml +37 -30
  111. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_the_added_Permission_from_the_Role_successfully.yml +37 -30
  112. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_exactly_1_User.yml +37 -30
  113. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_the_added_User_from_the_Role_successfully.yml +37 -30
  114. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_roles/should_get_the_Role_successfully.yml +37 -29
  115. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_remove_role_permissions/should_remove_a_Permission_from_the_Role_successfully.yml +39 -29
  116. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_update_role/should_update_the_Role_successfully.yml +37 -30
  117. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_api.yml +38 -31
  118. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_role.yml +39 -31
  119. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_user.yml +38 -31
  120. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_api.yml +36 -26
  121. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_user.yml +36 -26
  122. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_disabled_rule_without_an_error.yml +38 -20
  123. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_enabled_rule_without_an_error.yml +38 -20
  124. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_fields_not_specified.yml +40 -27
  125. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_specified_fields.yml +40 -27
  126. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_include_the_specified_fields.yml +39 -26
  127. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/should_get_a_specific_rule.yml +40 -27
  128. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_exclude_fields_not_specified.yml +80 -24
  129. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_include_the_specified_fields.yml +82 -25
  130. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_disabled_rule.yml +59 -27
  131. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_enabled_rule.yml +68 -26
  132. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_paginated_results.yml +78 -49
  133. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/should_return_at_least_1_rule.yml +84 -28
  134. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_update_rule/should_update_the_disabled_rule_to_be_enabled.yml +40 -27
  135. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_disabled_rule.yml +42 -29
  136. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_enabled_rule.yml +42 -29
  137. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_active_users/should_have_at_least_one_active_user.yml +38 -23
  138. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_daily_stats/should_have_at_least_one_stats_entry_for_the_timeframe.yml +38 -27
  139. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings/should_get_the_tenant_settings.yml +72 -59
  140. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_exclude_a_field_not_requested.yml +38 -25
  141. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_include_the_field_requested.yml +38 -25
  142. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_revert_the_tenant_name.yml +72 -58
  143. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_update_the_tenant_settings_with_a_new_tenant_name.yml +72 -58
  144. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_email_verification/should_create_an_email_verification_ticket.yml +39 -26
  145. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_password_change/should_create_a_password_change_ticket.yml +39 -26
  146. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/create_test_user.yml +40 -32
  147. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/delete_test_user.yml +38 -20
  148. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_permissions/should_add_a_Permissions_for_a_User_successfully.yml +39 -35
  149. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_roles/should_add_a_Role_to_a_User_successfully.yml +37 -25
  150. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_User_successfully.yml +36 -24
  151. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_secondary_User_successfully.yml +36 -24
  152. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user_provider/should_attempt_to_delete_the_MFA_provider_for_the_User.yml +36 -24
  153. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_enrollments/should_get_Enrollments_for_a_User_successfully.yml +37 -28
  154. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_exactly_1_Permission_for_a_User_successfully.yml +37 -28
  155. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_the_correct_Permission_for_a_User_successfully.yml +37 -28
  156. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_roles/should_get_Roles_for_a_User_successfully.yml +38 -28
  157. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_invalidate_browsers/should_invalidate_MFA_browsers_for_the_User_successfully.yml +36 -24
  158. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_link_user_account/should_link_two_Users_successfully.yml +38 -29
  159. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_patch_user/should_patch_the_User_successfully.yml +38 -28
  160. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_permissions/should_remove_a_Permission_from_a_User_successfully.yml +39 -27
  161. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_roles/should_remove_a_Role_from_a_User_successfully.yml +39 -27
  162. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_unlink_user_account/should_unlink_two_Users_successfully.yml +37 -28
  163. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_fields_not_indicated.yml +37 -28
  164. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_the_fields_indicated.yml +37 -28
  165. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_include_the_fields_indicated.yml +37 -28
  166. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/should_retrieve_the_created_user.yml +37 -28
  167. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user_logs/should_get_Logs_for_a_User_successfully.yml +42 -30
  168. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v2_search_engine_query.yml +36 -27
  169. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v3_search_engine_query.yml +36 -27
  170. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_exclude_the_indicated_fields_when_paginated.yml +36 -27
  171. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_include_the_indicated_fields_when_paginated.yml +36 -27
  172. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_not_include_other_fields_when_paginated.yml +36 -27
  173. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_return_the_correct_number_of_results_when_paginated.yml +36 -27
  174. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/should_have_at_least_one_user.yml +37 -27
  175. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_secondary_test_user.yml +38 -29
  176. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_api.yml +38 -29
  177. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_role.yml +39 -29
  178. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_user.yml +38 -29
  179. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_api.yml +36 -24
  180. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_role.yml +42 -28
  181. data/spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb +0 -9
  182. data/spec/integration/lib/auth0/api/v2/api_connections_spec.rb +3 -3
  183. data/spec/integration/lib/auth0/api/v2/api_email_spec.rb +0 -31
  184. data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +4 -4
  185. data/spec/integration/lib/auth0/api/v2/api_logs_spec.rb +5 -5
  186. data/spec/integration/lib/auth0/api/v2/api_roles_spec.rb +3 -3
  187. data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +4 -4
  188. data/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb +8 -5
  189. data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +6 -33
  190. data/spec/lib/auth0/api/v2/actions_spec.rb +312 -0
  191. data/spec/lib/auth0/api/v2/grants_spec.rb +91 -0
  192. data/spec/lib/auth0/client_spec.rb +3 -3
  193. data/spec/lib/auth0/mixins/httpproxy_spec.rb +320 -25
  194. data/spec/lib/auth0/mixins/initializer_spec.rb +87 -0
  195. data/spec/lib/auth0/mixins/token_management_spec.rb +125 -0
  196. data/spec/spec_helper.rb +1 -1
  197. data/spec/support/dummy_class_for_proxy.rb +2 -2
  198. data/spec/support/dummy_class_for_tokens.rb +17 -0
  199. metadata +31 -30
  200. data/.yardoc/checksums +0 -22
  201. data/.yardoc/complete +0 -0
  202. data/.yardoc/object_types +0 -0
  203. data/.yardoc/objects/root.dat +0 -0
  204. data/.yardoc/proxy_types +0 -0
  205. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_check_if_ip_is_blocked/should_return_200_response_code.yml +0 -65
  206. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_remove_ip_block/should_remove_an_IP_successfully.yml +0 -60
  207. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_first_page_of_one_result.yml +0 -66
  208. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_delete_device_credential/should_delete_the_test_credential_without_an_error.yml +0 -54
  209. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/_filter_by_type/should_exclude_the_test_credential.yml +0 -59
  210. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_have_at_least_1_entry.yml +0 -62
  211. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_include_the_test_credential.yml +0 -62
  212. data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_credential.yml +0 -54
  213. data/spec/integration/lib/auth0/api/v2/api_anomaly_spec.rb +0 -17
  214. data/spec/integration/lib/auth0/api/v2/api_device_credentials_spec.rb +0 -128
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1d21b8018643c7c1fbe1749efc7bd375c6fca4bc67b8a7f6c1036bf17594c886
4
- data.tar.gz: 7b89fc89c380469c0db6c86ddd4f00e6c1502a68c5f13c4bfcbbc35d58c6a23f
3
+ metadata.gz: 4d57247dc3db711110d8be1372f9679bdf5124e271ed9648c0a8f657c38daa76
4
+ data.tar.gz: 81946438f3e11d42d628ed9da89a446ee72f3b10ee638cf058804b9bce35948b
5
5
  SHA512:
6
- metadata.gz: 93fc45bd2a0c457d2f387291eb77cfabcad12c68bfa95d012b9ceeff3b62e25dfd31e8bd7ea67047c89a131f99ef375beb87dedaaabbaae391d6c210860b25cd
7
- data.tar.gz: 694021376e92ab80198642919be1c2b94d27eb74a75862c4fdc15509251339faa6dd7eda013f7ab06df202ee4beeceab7465dfa0ae53b454e30c05e6338dbe09
6
+ metadata.gz: 057f873c48f31661967dcb8c9ec62ec275f0f5feef9777e1c88bb6e0fa16263522e4049e1c23d91f528c5f30d5c0404266ea21276e6bcdf3b716d70bbdf71f9d
7
+ data.tar.gz: ab73c8c4d3691f11d1f426c175f3de2f163ca241db2461300e66c90028ad5c01c8dd4e7b46a50e9e12f28649f667597a5cac386bbad0a396dd469617a639f1d5
data/.gitignore CHANGED
@@ -12,3 +12,8 @@ coverage
12
12
  spec/auth0.yml
13
13
  .env
14
14
  /Gemfile.lock
15
+ /.yardoc/checksums
16
+ /.yardoc/complete
17
+ /.yardoc/object_types
18
+ /.yardoc/objects/root.dat
19
+ /.yardoc/proxy_types
data/.shiprc ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "files": {
3
+ "lib/auth0/version.rb": []
4
+ },
5
+ "prebump": "bundle install && bundle exec rake test",
6
+ "postbump": "bundle update"
7
+ }
data/CHANGELOG.md CHANGED
@@ -1,4 +1,52 @@
1
- # Change Log
1
+ # Changelog
2
+
3
+ ## [v5.6.1](https://github.com/auth0/ruby-auth0/tree/v5.6.1) (2021-09-14)
4
+
5
+ [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.6.0..v5.6.1)
6
+
7
+ **Fixed**
8
+
9
+ - Fix `delete_grant` API call [\#304](https://github.com/auth0/ruby-auth0/pull/304) ([danimal141](https://github.com/danimal141))
10
+
11
+ ## [v5.6.0](https://github.com/auth0/ruby-auth0/tree/v5.6.0) (2021-09-14)
12
+
13
+ [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.5.0..v5.6.0)
14
+
15
+ **Added**
16
+
17
+ - New Actions endpoints CH: Added review:medium. [\#293](https://github.com/auth0/ruby-auth0/pull/293) ([davidpatrick](https://github.com/davidpatrick))
18
+
19
+ - Updates rest-client to 2.1. [\#296](https://github.com/auth0/ruby-auth0/pull/296) ([davidpatrick](https://github.com/davidpatrick))
20
+
21
+ - Add New Grants. [\#295](https://github.com/auth0/ruby-auth0/pull/295) ([Norio4](https://github.com/Norio4))
22
+
23
+ - Add token cache and renew functionality for API requests [\#301](https://github.com/auth0/ruby-auth0/pull/295) ([stevehobbsdev](https://github.com/stevehobbsdev))
24
+
25
+ - Optional `client_id` parameter for `reset_password` [\#299](https://github.com/auth0/ruby-auth0/pull/295) ([DJRH](https://github.com/DJRH))
26
+
27
+ **Deprecated**
28
+
29
+ - Deprecate change_password in favor of reset_password. [\#297](https://github.com/auth0/ruby-auth0/pull/297) ([davidpatrick](https://github.com/davidpatrick))
30
+
31
+ ## [v5.5.0](https://github.com/auth0/ruby-auth0/tree/v5.5.0) (2021-08-06)
32
+
33
+ [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.4.0..v5.5.0)
34
+
35
+ **Added**
36
+
37
+ - Automatically retry requests when API returns a 429 rate-limit status header. [\#290](https://github.com/auth0/ruby-auth0/pull/290) ([davidpatrick](https://github.com/davidpatrick))
38
+
39
+ ## [v5.4.0](https://github.com/auth0/ruby-auth0/tree/v5.4.0) (2021-07-23)
40
+
41
+ [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.3.0..v5.4.0)
42
+
43
+ **Fixed**
44
+
45
+ - Fixing yard issues with documentation [\#288](https://github.com/auth0/ruby-auth0/pull/288) ([davidpatrick](https://github.com/davidpatrick))
46
+
47
+ **Changed**
48
+
49
+ - Change strategy when normalizing path [\#287](https://github.com/auth0/ruby-auth0/pull/287) ([davidpatrick](https://github.com/davidpatrick))
2
50
 
3
51
  ## [v5.3.0](https://github.com/auth0/ruby-auth0/tree/v5.3.0) (2021-07-23)
4
52
 
@@ -40,14 +88,13 @@
40
88
 
41
89
  - Fixes create_organizations_enabled_connection [\#269](https://github.com/auth0/ruby-auth0/pull/269) ([davidpatrick](https://github.com/apps/davidpatrick))
42
90
 
43
-
44
91
  ## [v5.1.0](https://github.com/auth0/ruby-auth0/tree/v5.1.0) (2021-04-09)
45
92
 
46
93
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.0.1..v5.1.0)
47
94
 
48
95
  **Added**
49
96
 
50
- - Org idtoken validation guidance [\#267](https://github.com/auth0/ruby-auth0/pull/267) ([davidpatrick](https://github.com/davidpatrick))
97
+ - Org idtoken validation guidance [\#267](https://github.com/auth0/ruby-auth0/pull/267) ([davidpatrick](https://github.com/davidpatrick))
51
98
  - Adds Branding endpoints [\#266](https://github.com/auth0/ruby-auth0/pull/266) ([davidpatrick](https://github.com/davidpatrick))
52
99
  - Organizations feature [\#264](https://github.com/auth0/ruby-auth0/pull/264) ([davidpatrick](https://github.com/davidpatrick))
53
100
  - Add Organizations support to Authentication API Client [\#263](https://github.com/auth0/ruby-auth0/pull/263) ([davidpatrick](https://github.com/davidpatrick))
@@ -72,35 +119,43 @@
72
119
 
73
120
  ## [v5.0.0](https://github.com/auth0/ruby-auth0/tree/v5.0.0) (2020-10-22)
74
121
 
75
- This release addresses some long standing issues with the library that could only be addressed in a major. We have also removed Api/v1 endpoints and other deprecated methods.
122
+ This release addresses some long standing issues with the library that could only be addressed in a major. We have also removed Api/v1 endpoints and other deprecated methods.
76
123
 
77
124
  ### Migration from v4 to v5
78
125
 
79
126
  #### Top Level Structs
127
+
80
128
  The following top level structs were colliding with other libraries, this was addressed in [\#183](183) and have been namespaced with `::Auth0::`
129
+
81
130
  - `ApiToken` changed to `::Auth0::ApiToken`
82
131
  - `Permission` changed to `::Auth0::Permission`
83
132
  - `AccessToken` changed to `::AccessToken::AccessToken`
84
133
 
85
134
  #### Api2 Users create_user method
135
+
86
136
  This method was requiring you send in a `name`, which was optional, but didn't require `connection_name` which isn't optional. This was fixed in [\#244](244).
87
137
 
88
138
  `Auth0::Api::V2::Users.create_user(name, options = {})` has changed to `Auth0::Api::V2::Users.create_user(connection_name, options = {})`
89
139
 
90
140
  #### APIv1 End of Life
91
- APIv1 endpoints were deprecated in 4.x and now have been removed in v5. They reached end-of-life in the Public Cloud on 13 July 2020. Migration from v1 to v2 has been documented here https://auth0.com/docs/product-lifecycle/deprecations-and-migrations/migrate-to-management-api-v2
141
+
142
+ APIv1 endpoints were deprecated in 4.x and now have been removed in v5. They reached end-of-life in the Public Cloud on 13 July 2020. Migration from v1 to v2 has been documented here https://auth0.com/docs/product-lifecycle/deprecations-and-migrations/migrate-to-management-api-v2
92
143
 
93
144
  #### Catching 429 Errors
94
- In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order for backwards compatibility. This class is now inheriting `Auth0::HTTPError`. If you are catching 429 errors with `Auth0::Unsupported` then you will need to migrate to catching with `Auth0::HTTPError`.
145
+
146
+ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order for backwards compatibility. This class is now inheriting `Auth0::HTTPError`. If you are catching 429 errors with `Auth0::Unsupported` then you will need to migrate to catching with `Auth0::HTTPError`.
95
147
 
96
148
  ### Changes
149
+
97
150
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v4.17.1...v5.0.0)
98
151
 
99
- **Fixed**
152
+ **Fixed**
153
+
100
154
  - Don't define structs as top-level constants (breaking changes) [\#183](https://github.com/auth0/ruby-auth0/pull/183) ([makimoto](https://github.com/makimoto))
101
155
  - Fix create_user implementation (breaking changes) [\#244](https://github.com/auth0/ruby-auth0/pull/244) ([davidpatrick](https://github.com/davidpatrick))
102
156
 
103
157
  **Removed**
158
+
104
159
  - Removed Deprecations (breaking changes) [\#245](https://github.com/auth0/ruby-auth0/pull/245) ([davidpatrick](https://github.com/davidpatrick))
105
160
 
106
161
  ## [v4.17.1](https://github.com/auth0/ruby-auth0/tree/v4.17.1) (2020-10-21)
@@ -109,8 +164,7 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
109
164
 
110
165
  **Fixed**
111
166
 
112
- - Addressable dependency [\#247](https://github.com/auth0/ruby-auth0/pull/247) ([davidpatrick](https://github.com/davidpatrick))
113
-
167
+ - Addressable dependency [\#247](https://github.com/auth0/ruby-auth0/pull/247) ([davidpatrick](https://github.com/davidpatrick))
114
168
 
115
169
  ## [v4.17.0](https://github.com/auth0/ruby-auth0/tree/v4.17.0) (2020-10-19)
116
170
 
@@ -118,12 +172,11 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
118
172
 
119
173
  **Added**
120
174
 
121
- - Add pagination to user permissions [\#241](https://github.com/auth0/ruby-auth0/pull/241) ([davidpatrick](https://github.com/davidpatrick))
175
+ - Add pagination to user permissions [\#241](https://github.com/auth0/ruby-auth0/pull/241) ([davidpatrick](https://github.com/davidpatrick))
122
176
 
123
177
  **Deprecated**
124
178
 
125
- - Addressable URI Escape [\#240](https://github.com/auth0/ruby-auth0/pull/240) ([davidpatrick](https://github.com/apps/davidpatrick))
126
-
179
+ - Addressable URI Escape [\#240](https://github.com/auth0/ruby-auth0/pull/240) ([davidpatrick](https://github.com/apps/davidpatrick))
127
180
 
128
181
  ## [v4.16.0](https://github.com/auth0/ruby-auth0/tree/v4.16.0) (2020-10-02)
129
182
 
@@ -198,8 +251,8 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
198
251
 
199
252
  **Added**
200
253
 
201
- - Added support for name\_filter parameter \[SDK-1607\] [\#214](https://github.com/auth0/ruby-auth0/pull/214) ([Widcket](https://github.com/Widcket))
202
- - Pass client\_id, audience at Auth0::Api::V2::ClientGrants\#client\_grants [\#209](https://github.com/auth0/ruby-auth0/pull/209) ([hkdnet](https://github.com/hkdnet))
254
+ - Added support for name_filter parameter \[SDK-1607\] [\#214](https://github.com/auth0/ruby-auth0/pull/214) ([Widcket](https://github.com/Widcket))
255
+ - Pass client_id, audience at Auth0::Api::V2::ClientGrants\#client_grants [\#209](https://github.com/auth0/ruby-auth0/pull/209) ([hkdnet](https://github.com/hkdnet))
203
256
  - Add rubocop-rails [\#200](https://github.com/auth0/ruby-auth0/pull/200) ([tknzk](https://github.com/tknzk))
204
257
 
205
258
  **Security**
@@ -209,8 +262,8 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
209
262
  - Update dependencies and CI script [\#210](https://github.com/auth0/ruby-auth0/pull/210) ([lbalmaceda](https://github.com/lbalmaceda))
210
263
 
211
264
  ## [v4.9.0](https://github.com/auth0/ruby-auth0/tree/v4.9.0) (2019-09-25)
212
- [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v4.8.0...v4.9.0)
213
265
 
266
+ [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v4.8.0...v4.9.0)
214
267
 
215
268
  **Closed issues:**
216
269
 
@@ -228,12 +281,15 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
228
281
  - Add Management API Guardian enrollments endpoint [\#182](https://github.com/auth0/ruby-auth0/pull/182) ([tomgi](https://github.com/tomgi))
229
282
 
230
283
  ## [v4.8.0](https://github.com/auth0/ruby-auth0/tree/v4.8.0) (2019-08-01)
284
+
231
285
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v4.7.0...v4.8.0)
232
286
 
233
287
  **Closed issues**
288
+
234
289
  - Not enough information in exception when Rate Limiting is encountered [\#158](https://github.com/auth0/ruby-auth0/issues/158)
235
290
 
236
291
  **Added**
292
+
237
293
  - Add Management API Anomaly endpoints [\#179](https://github.com/auth0/ruby-auth0/pull/179) ([makoto-matsumoto](https://github.com/makoto-matsumoto))
238
294
  - Add parameters for users imports [\#177](https://github.com/auth0/ruby-auth0/pull/177) ([makoto-matsumoto](https://github.com/makoto-matsumoto))
239
295
  - Add failed job error details endpoint [\#176](https://github.com/auth0/ruby-auth0/pull/176) ([makoto-matsumoto](https://github.com/makoto-matsumoto))
@@ -243,34 +299,43 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
243
299
  - Add Gemfile.lock file [\#165](https://github.com/auth0/ruby-auth0/pull/165) ([lbalmaceda](https://github.com/lbalmaceda))
244
300
 
245
301
  **Changed**
302
+
246
303
  - Add Roles and Users endpoints integration tests [\#174](https://github.com/auth0/ruby-auth0/pull/174) ([joshcanhelp](https://github.com/joshcanhelp))
247
304
 
248
305
  **Deprecated**
306
+
249
307
  - Deprecate Auth0::Api::V2::Users.delete_users [\#181](https://github.com/auth0/ruby-auth0/pull/181) ([joshcanhelp](https://github.com/joshcanhelp))
250
308
 
251
309
  **Removed**
310
+
252
311
  - Gemspec: Drop EOL'd property rubyforge_project [\#180](https://github.com/auth0/ruby-auth0/pull/180) ([olleolleolle](https://github.com/olleolleolle))
253
312
 
254
313
  **Security**
314
+
255
315
  - Fix Yard dependency vulnerability [\#184](https://github.com/auth0/ruby-auth0/pull/184) ([joshcanhelp](https://github.com/joshcanhelp))
256
316
 
257
317
  ## [v4.7.0](https://github.com/auth0/ruby-auth0/tree/v4.7.0) (2019-03-19)
318
+
258
319
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v4.6.0...v4.7.0)
259
320
 
260
321
  **Closed issues**
322
+
261
323
  - No method to update/patch resource servers [\#156](https://github.com/auth0/ruby-auth0/issues/156)
262
324
  - No method to get all resource servers [\#154](https://github.com/auth0/ruby-auth0/issues/154)
263
325
 
264
326
  **Added**
327
+
265
328
  - Add Client ID to send_verification_email [\#162](https://github.com/auth0/ruby-auth0/pull/162) ([joshcanhelp](https://github.com/joshcanhelp))
266
329
  - More password change params [\#159](https://github.com/auth0/ruby-auth0/pull/159) ([nhusher](https://github.com/nhusher))
267
330
  - Add patch resource server [\#157](https://github.com/auth0/ruby-auth0/pull/157) ([philomory](https://github.com/philomory))
268
331
  - Get all resource servers [\#155](https://github.com/auth0/ruby-auth0/pull/155) ([philomory](https://github.com/philomory))
269
332
 
270
333
  ## [v4.6.0](https://github.com/auth0/ruby-auth0/tree/v4.6.0) (2018-12-17)
334
+
271
335
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v4.5.0...v4.6.0)
272
336
 
273
337
  **Closed issues**
338
+
274
339
  - New Release with Client Token work [\#148](https://github.com/auth0/ruby-auth0/issues/148)
275
340
  - Unable to initialize Auth0Api [\#147](https://github.com/auth0/ruby-auth0/issues/147)
276
341
  - Issues building the documentation [\#135](https://github.com/auth0/ruby-auth0/issues/135)
@@ -281,6 +346,7 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
281
346
  - Obtain APIv2 Token [\#86](https://github.com/auth0/ruby-auth0/issues/86)
282
347
 
283
348
  **Added**
349
+
284
350
  - Add refresh token method and unit tests [\#150](https://github.com/auth0/ruby-auth0/pull/150) ([joshcanhelp](https://github.com/joshcanhelp))
285
351
  - Improve telemetry; more modular Auth API [\#149](https://github.com/auth0/ruby-auth0/pull/149) ([joshcanhelp](https://github.com/joshcanhelp))
286
352
  - Add ttl_sec argument to post_email_verification request. [\#145](https://github.com/auth0/ruby-auth0/pull/145) ([digitaldawn](https://github.com/digitaldawn))
@@ -292,52 +358,57 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
292
358
  - Add Client Credentials grant [\#129](https://github.com/auth0/ruby-auth0/pull/129) ([joshcanhelp](https://github.com/joshcanhelp))
293
359
 
294
360
  **Changed**
361
+
295
362
  - Improve the test suite [\#143](https://github.com/auth0/ruby-auth0/pull/143) ([joshcanhelp](https://github.com/joshcanhelp))
296
363
 
297
364
  **Deprecated**
365
+
298
366
  - Formal deprecation of 4 auth endpoint methods; rubocop [\#151](https://github.com/auth0/ruby-auth0/pull/151) ([joshcanhelp](https://github.com/joshcanhelp))
299
367
 
300
368
  **Fixed**
369
+
301
370
  - Documentation improvements [\#139](https://github.com/auth0/ruby-auth0/pull/139) ([szemek](https://github.com/szemek))
302
371
  - Fix typos in README.md [\#137](https://github.com/auth0/ruby-auth0/pull/137) ([swetax](https://github.com/swetax))
303
372
  - Explicitly require JSON dependency [\#126](https://github.com/auth0/ruby-auth0/pull/126) ([jgaskins](https://github.com/jgaskins))
304
373
 
305
-
306
374
  ## [v4.5.0](https://github.com/auth0/ruby-auth0/tree/v4.5.0) (2018-07-27)
375
+
307
376
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v4.4.0...v4.5.0)
308
377
 
309
378
  **Closed issues:**
310
379
 
311
380
  - New version with updated rest-client dependency [\#93](https://github.com/auth0/ruby-auth0/issues/93)
312
381
  - Bug?: `result` from auth0/mixins/httpproxy.rb returns 'nil' [\#88](https://github.com/auth0/ruby-auth0/issues/88)
313
- - import\_users fails with EOFError [\#56](https://github.com/auth0/ruby-auth0/issues/56)
382
+ - import_users fails with EOFError [\#56](https://github.com/auth0/ruby-auth0/issues/56)
314
383
  - Using inside of a Rails API [\#55](https://github.com/auth0/ruby-auth0/issues/55)
315
384
  - Add documentation? [\#102](https://github.com/auth0/ruby-auth0/issues/102)
316
- - logout\_url does not include client\_id parameter [\#81](https://github.com/auth0/ruby-auth0/issues/81)
385
+ - logout_url does not include client_id parameter [\#81](https://github.com/auth0/ruby-auth0/issues/81)
317
386
 
318
387
  **Merged pull requests:**
319
388
 
320
- - Correctly default grant\_type to 'password' in login method [\#107](https://github.com/auth0/ruby-auth0/pull/107) ([psparrow](https://github.com/psparrow))
389
+ - Correctly default grant_type to 'password' in login method [\#107](https://github.com/auth0/ruby-auth0/pull/107) ([psparrow](https://github.com/psparrow))
321
390
  - Add additional parameters for WS-Fed URL [\#123](https://github.com/auth0/ruby-auth0/pull/123) ([joshcanhelp](https://github.com/joshcanhelp))
322
391
  - Deprecate Authentication API endpoints [\#121](https://github.com/auth0/ruby-auth0/pull/121) ([joshcanhelp](https://github.com/joshcanhelp))
323
392
  - Clean up auth endpoint tests [\#120](https://github.com/auth0/ruby-auth0/pull/120) ([joshcanhelp](https://github.com/joshcanhelp))
324
393
  - Fix docblocks for Authentication API endpoints [\#119](https://github.com/auth0/ruby-auth0/pull/119) ([joshcanhelp](https://github.com/joshcanhelp))
325
- - Add Client ID to logout\_url [\#118](https://github.com/auth0/ruby-auth0/pull/118) ([joshcanhelp](https://github.com/joshcanhelp))
394
+ - Add Client ID to logout_url [\#118](https://github.com/auth0/ruby-auth0/pull/118) ([joshcanhelp](https://github.com/joshcanhelp))
326
395
  - Add pagination and tests for Rules endpoint [\#117](https://github.com/auth0/ruby-auth0/pull/117) ([joshcanhelp](https://github.com/joshcanhelp))
327
396
  - Add pagination and tests for Client Grants [\#116](https://github.com/auth0/ruby-auth0/pull/116) ([joshcanhelp](https://github.com/joshcanhelp))
328
- - Add search\_engine parameter to Users endpoint + tests [\#115](https://github.com/auth0/ruby-auth0/pull/115) ([joshcanhelp](https://github.com/joshcanhelp))
397
+ - Add search_engine parameter to Users endpoint + tests [\#115](https://github.com/auth0/ruby-auth0/pull/115) ([joshcanhelp](https://github.com/joshcanhelp))
329
398
  - Improve README [\#114](https://github.com/auth0/ruby-auth0/pull/114) ([joshcanhelp](https://github.com/joshcanhelp))
330
399
  - Add pagination and tests to Clients and Connections endpoints [\#113](https://github.com/auth0/ruby-auth0/pull/113) ([joshcanhelp](https://github.com/joshcanhelp))
331
400
  - Use Secure RubyGems Source [\#112](https://github.com/auth0/ruby-auth0/pull/112) ([markprovan](https://github.com/markprovan))
332
401
 
333
402
  ## [v4.4.0](https://github.com/auth0/ruby-auth0/tree/v4.4.0) (2018-02-19)
403
+
334
404
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v4.3.0...v4.4.0)
335
405
 
336
406
  **Closed issues:**
337
407
 
338
- - Authentication Login is using `/oauth/ro`. [\#89](https://github.com/auth0/ruby-auth0/issues/89)
408
+ - Authentication Login is using `/oauth/ro`. [\#89](https://github.com/auth0/ruby-auth0/issues/89)
339
409
 
340
410
  ## [v4.3.0](https://github.com/auth0/ruby-auth0/tree/v4.3.0) (2018-02-19)
411
+
341
412
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v4.2.0...v4.3.0)
342
413
 
343
414
  **Merged pull requests:**
@@ -348,12 +419,13 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
348
419
  - Fix error in the readme regarding timeouts [\#90](https://github.com/auth0/ruby-auth0/pull/90) ([ksamc](https://github.com/ksamc))
349
420
 
350
421
  ## [v4.2.0](https://github.com/auth0/ruby-auth0/tree/v4.2.0) (2018-02-15)
422
+
351
423
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v4.1.0...v4.2.0)
352
424
 
353
425
  **Closed issues:**
354
426
 
355
427
  - Vulnerable dependency: yard [\#99](https://github.com/auth0/ruby-auth0/issues/99)
356
- - post\_password\_change results in payload validation error [\#84](https://github.com/auth0/ruby-auth0/issues/84)
428
+ - post_password_change results in payload validation error [\#84](https://github.com/auth0/ruby-auth0/issues/84)
357
429
  - Unsupported on latest ruby version \(2.4.0\) [\#83](https://github.com/auth0/ruby-auth0/issues/83)
358
430
  - Adding a resource server breaks authentication. [\#76](https://github.com/auth0/ruby-auth0/issues/76)
359
431
  - outdated dependencies in ror-api example [\#75](https://github.com/auth0/ruby-auth0/issues/75)
@@ -375,14 +447,15 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
375
447
  - updated dependencies in ror api example. Fix \#75 [\#77](https://github.com/auth0/ruby-auth0/pull/77) ([Amialc](https://github.com/Amialc))
376
448
  - Add a badge to documentation [\#74](https://github.com/auth0/ruby-auth0/pull/74) ([amingilani](https://github.com/amingilani))
377
449
  - Typo [\#73](https://github.com/auth0/ruby-auth0/pull/73) ([amingilani](https://github.com/amingilani))
378
- - Add how to generate documentation to the README.md + patch\_user [\#72](https://github.com/auth0/ruby-auth0/pull/72) ([ignaciojonas](https://github.com/ignaciojonas))
450
+ - Add how to generate documentation to the README.md + patch_user [\#72](https://github.com/auth0/ruby-auth0/pull/72) ([ignaciojonas](https://github.com/ignaciojonas))
379
451
 
380
452
  ## [v4.1.0](https://github.com/auth0/ruby-auth0/tree/v4.1.0) (2016-07-25)
453
+
381
454
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v4.0.0...v4.1.0)
382
455
 
383
456
  **Closed issues:**
384
457
 
385
- - \#post\_password\_change requires a password for ticket. [\#69](https://github.com/auth0/ruby-auth0/issues/69)
458
+ - \#post_password_change requires a password for ticket. [\#69](https://github.com/auth0/ruby-auth0/issues/69)
386
459
  - Exception messages are ruby hash string literals [\#63](https://github.com/auth0/ruby-auth0/issues/63)
387
460
  - Ruby on Rails API issue [\#61](https://github.com/auth0/ruby-auth0/issues/61)
388
461
  - Not possible to have V1 and V2 clients at the same time [\#60](https://github.com/auth0/ruby-auth0/issues/60)
@@ -398,6 +471,7 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
398
471
  - Add api v2 log endpoints to the gem [\#59](https://github.com/auth0/ruby-auth0/pull/59) ([LindseyB](https://github.com/LindseyB))
399
472
 
400
473
  ## [v4.0.0](https://github.com/auth0/ruby-auth0/tree/v4.0.0) (2016-02-12)
474
+
401
475
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v3.6.1...v4.0.0)
402
476
 
403
477
  **Closed issues:**
@@ -418,6 +492,7 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
418
492
  - Remove semi-colons in README [\#37](https://github.com/auth0/ruby-auth0/pull/37) ([l4u](https://github.com/l4u))
419
493
 
420
494
  ## [v3.6.1](https://github.com/auth0/ruby-auth0/tree/v3.6.1) (2015-07-09)
495
+
421
496
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v3.6.0...v3.6.1)
422
497
 
423
498
  **Merged pull requests:**
@@ -426,15 +501,17 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
426
501
  - email validation is broken by \_, which breaks the tests [\#35](https://github.com/auth0/ruby-auth0/pull/35) ([taylorfinnell](https://github.com/taylorfinnell))
427
502
 
428
503
  ## [v3.6.0](https://github.com/auth0/ruby-auth0/tree/v3.6.0) (2015-06-01)
504
+
429
505
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v3.5.0...v3.6.0)
430
506
 
431
507
  **Merged pull requests:**
432
508
 
433
- - Remove exclude\_fields parameter for getting users [\#34](https://github.com/auth0/ruby-auth0/pull/34) ([hzalaz](https://github.com/hzalaz))
509
+ - Remove exclude_fields parameter for getting users [\#34](https://github.com/auth0/ruby-auth0/pull/34) ([hzalaz](https://github.com/hzalaz))
434
510
  - Add connections [\#33](https://github.com/auth0/ruby-auth0/pull/33) ([taylorfinnell](https://github.com/taylorfinnell))
435
511
  - Use client header spec as per documentation [\#32](https://github.com/auth0/ruby-auth0/pull/32) ([benschwarz](https://github.com/benschwarz))
436
512
 
437
513
  ## [v3.5.0](https://github.com/auth0/ruby-auth0/tree/v3.5.0) (2015-05-21)
514
+
438
515
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v3.4.0...v3.5.0)
439
516
 
440
517
  **Merged pull requests:**
@@ -442,6 +519,7 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
442
519
  - Client information headers [\#31](https://github.com/auth0/ruby-auth0/pull/31) ([benschwarz](https://github.com/benschwarz))
443
520
 
444
521
  ## [v3.4.0](https://github.com/auth0/ruby-auth0/tree/v3.4.0) (2015-05-07)
522
+
445
523
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v3.3.0...v3.4.0)
446
524
 
447
525
  **Closed issues:**
@@ -455,6 +533,7 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
455
533
  - Fix broken link in README [\#28](https://github.com/auth0/ruby-auth0/pull/28) ([dentarg](https://github.com/dentarg))
456
534
 
457
535
  ## [v3.3.0](https://github.com/auth0/ruby-auth0/tree/v3.3.0) (2015-04-15)
536
+
458
537
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v3.2.0...v3.3.0)
459
538
 
460
539
  **Closed issues:**
@@ -470,15 +549,16 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
470
549
  - allow to pass extra parameters to delegation method [\#23](https://github.com/auth0/ruby-auth0/pull/23) ([Maxim-Filimonov](https://github.com/Maxim-Filimonov))
471
550
 
472
551
  ## [v3.2.0](https://github.com/auth0/ruby-auth0/tree/v3.2.0) (2015-04-14)
552
+
473
553
  **Merged pull requests:**
474
554
 
475
555
  - Impersonation [\#26](https://github.com/auth0/ruby-auth0/pull/26) ([dentarg](https://github.com/dentarg))
476
- - Allow to set api\_type to use with salesforce\_api [\#25](https://github.com/auth0/ruby-auth0/pull/25) ([Maxim-Filimonov](https://github.com/Maxim-Filimonov))
556
+ - Allow to set api_type to use with salesforce_api [\#25](https://github.com/auth0/ruby-auth0/pull/25) ([Maxim-Filimonov](https://github.com/Maxim-Filimonov))
477
557
  - Fixed few issues from issues list [\#22](https://github.com/auth0/ruby-auth0/pull/22) ([offtop](https://github.com/offtop))
478
558
  - Update readme.md api v2 basic usage example [\#19](https://github.com/auth0/ruby-auth0/pull/19) ([ethancrawford](https://github.com/ethancrawford))
479
559
  - fix token initialization to prevent nil token value [\#18](https://github.com/auth0/ruby-auth0/pull/18) ([ethancrawford](https://github.com/ethancrawford))
480
560
  - Make the client work for API v1 [\#13](https://github.com/auth0/ruby-auth0/pull/13) ([dentarg](https://github.com/dentarg))
481
- - Fix typo delegation signature; open\_id =\> openid [\#12](https://github.com/auth0/ruby-auth0/pull/12) ([dentarg](https://github.com/dentarg))
561
+ - Fix typo delegation signature; open_id =\> openid [\#12](https://github.com/auth0/ruby-auth0/pull/12) ([dentarg](https://github.com/dentarg))
482
562
  - Make the tests run on Travis CI [\#11](https://github.com/auth0/ruby-auth0/pull/11) ([dentarg](https://github.com/dentarg))
483
563
  - Added support for API V1 and API V2 [\#9](https://github.com/auth0/ruby-auth0/pull/9) ([offtop](https://github.com/offtop))
484
564
  - Update README.md [\#8](https://github.com/auth0/ruby-auth0/pull/8) ([pose](https://github.com/pose))
@@ -487,6 +567,4 @@ In 4.x `RateLimitEncountered` was inheriting from `Auth0::Unsupported` in order
487
567
  - Fix rspec deprecation warning [\#2](https://github.com/auth0/ruby-auth0/pull/2) ([dentarg](https://github.com/dentarg))
488
568
  - Add method to access delegation endpoint [\#1](https://github.com/auth0/ruby-auth0/pull/1) ([FrancisPlaza](https://github.com/FrancisPlaza))
489
569
 
490
-
491
-
492
- \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
570
+ \* _This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)_
data/Gemfile CHANGED
@@ -15,4 +15,5 @@ group :test do
15
15
  gem 'vcr', require: false
16
16
  gem 'codecov', require: false
17
17
  gem 'simplecov'
18
+ gem 'timecop', require: false
18
19
  end
data/README.md CHANGED
@@ -77,6 +77,10 @@ class AllUsersController < ApplicationController
77
77
  # Otherwise, you can pass in a Management API token directly for testing or temporary
78
78
  # access using the key below.
79
79
  # token: ENV['AUTH0_RUBY_API_TOKEN'],
80
+ #
81
+ # When passing a token, you can also specify when the token expires in seconds from epoch. Otherwise, expiry is set
82
+ # by default to an hour from now.
83
+ # token_expires_at: Time.now.to_i + 86400,
80
84
  domain: ENV['AUTH0_RUBY_DOMAIN'],
81
85
  api_version: 2,
82
86
  timeout: 15 # optional, defaults to 10
@@ -98,6 +102,12 @@ Finally, we'll add a view to display the results:
98
102
 
99
103
  This should show the parameters passed to the `users` method and a list of users that matched the query (or an empty array if none).
100
104
 
105
+ ### Token management
106
+
107
+ If `token` is omitted, the SDK will attempt to fetch a new token using the `client_credentials` grant, provided that `client_id` and `client_secret` are provided in the configuration. Once the token is about to expire (or has already expired), a new token will be fetched and cached for future calls.
108
+
109
+ For this to work, ensure your application can make a Client Credentials grant (Application settings in Auth0 > Advanced > Grant Types tab) and that the application is authorized for the Management API: https://auth0.com/docs/api-auth/config/using-the-auth0-dashboard
110
+
101
111
  ## Authentication
102
112
 
103
113
  In addition to the Management API, this SDK also provides access to [Authentication API](https://auth0.com/docs/api/authentication) endpoints with the `Auth0::API::AuthenticationEndpoints` module. For basic login capability, we suggest using our OmniAuth stategy [detailed here](https://auth0.com/docs/quickstart/webapp/rails/01-login). Other authentication tasks currently supported are:
@@ -117,14 +127,6 @@ Please note that this module implements endpoints that might be deprecated for n
117
127
 
118
128
  [Organizations](https://auth0.com/docs/organizations) is a set of features that provide better support for developers who build and maintain SaaS and Business-to-Business (B2B) applications.
119
129
 
120
- Using Organizations, you can:
121
-
122
- - Represent teams, business customers, partner companies, or any logical grouping of users that should have different ways of accessing your applications, as organizations.
123
- - Manage their membership in a variety of ways, including user invitation.
124
- - Configure branded, federated login flows for each organization.
125
- - Implement role-based access control, such that users can have different roles when authenticating in the context of different organizations.
126
- - Build administration capabilities into your products, using Organizations APIs, so that those businesses can manage their own organizations.
127
-
128
130
  Note that Organizations is currently only available to customers on our Enterprise and Startup subscription plans.
129
131
 
130
132
  #### Logging in with an Organization
data/auth0.gemspec CHANGED
@@ -16,10 +16,11 @@ Gem::Specification.new do |s|
16
16
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
17
17
  s.require_paths = ['lib']
18
18
 
19
- s.add_runtime_dependency 'rest-client', '~> 2.0.2' #2.1.0 has breaking changes
19
+ s.add_runtime_dependency 'rest-client', '~> 2.1'
20
20
  s.add_runtime_dependency 'jwt', '~> 2.2'
21
21
  s.add_runtime_dependency 'zache', '~> 0.12'
22
22
  s.add_runtime_dependency 'addressable', '~> 2.8'
23
+ s.add_runtime_dependency 'retryable', '~> 3.0'
23
24
 
24
25
  s.add_development_dependency 'bundler'
25
26
  s.add_development_dependency 'rake', '~> 13.0'
@@ -22,16 +22,14 @@ module Auth0
22
22
  organization: @organization,
23
23
  audience: nil
24
24
  )
25
-
26
25
  request_params = {
27
26
  grant_type: 'client_credentials',
28
27
  client_id: client_id,
29
28
  client_secret: client_secret,
30
- audience: audience,
31
- organization: organization
29
+ audience: audience
32
30
  }
33
31
 
34
- response = post('/oauth/token', request_params)
32
+ response = request_with_retry(:post, '/oauth/token', request_params)
35
33
  ::Auth0::ApiToken.new(response['access_token'], response['scope'], response['expires_in'])
36
34
  end
37
35
 
@@ -58,7 +56,7 @@ module Auth0
58
56
  code: code,
59
57
  redirect_uri: redirect_uri
60
58
  }
61
- ::Auth0::AccessToken.from_response post('/oauth/token', request_params)
59
+ ::Auth0::AccessToken.from_response request_with_retry(:post, '/oauth/token', request_params)
62
60
  end
63
61
 
64
62
  # Get access and ID tokens using a refresh token.
@@ -83,7 +81,7 @@ module Auth0
83
81
  client_secret: client_secret,
84
82
  refresh_token: refresh_token
85
83
  }
86
- ::Auth0::AccessToken.from_response post('/oauth/token', request_params)
84
+ ::Auth0::AccessToken.from_response request_with_retry(:post, '/oauth/token', request_params)
87
85
  end
88
86
 
89
87
  # rubocop:disable Metrics/ParameterLists
@@ -123,7 +121,7 @@ module Auth0
123
121
  audience: audience,
124
122
  grant_type: realm ? 'http://auth0.com/oauth/grant-type/password-realm' : 'password'
125
123
  }
126
- ::Auth0::AccessToken.from_response post('/oauth/token', request_params)
124
+ ::Auth0::AccessToken.from_response request_with_retry(:post, '/oauth/token', request_params)
127
125
  end
128
126
  # rubocop:enable Metrics/ParameterLists
129
127
 
@@ -143,16 +141,18 @@ module Auth0
143
141
  connection: connection_name,
144
142
  client_id: @client_id
145
143
  }
146
- post('/dbconnections/signup', request_params)
144
+
145
+ request_with_retry(:post, '/dbconnections/signup', request_params)
147
146
  end
148
147
 
149
148
  # Change a user's password or trigger a password reset email.
150
149
  # @see https://auth0.com/docs/api/authentication#change-password
151
150
  # @see https://auth0.com/docs/connections/database/password-change
152
151
  # @param email [string] User's current email
153
- # @param password [string] User's new password; empty to trigger a
154
- # password reset email
152
+ # @param password [string] User's new password. This is only available
153
+ # on legacy tenants with change password v1 flow enabled
155
154
  # @param connection_name [string] Database connection name
155
+ # @deprecated Use {#password_reset} instead.
156
156
  def change_password(email, password, connection_name = UP_AUTH)
157
157
  raise Auth0::InvalidParameter, 'Must supply a valid email' if email.to_s.empty?
158
158
 
@@ -162,7 +162,29 @@ module Auth0
162
162
  connection: connection_name,
163
163
  client_id: @client_id
164
164
  }
165
- post('/dbconnections/change_password', request_params)
165
+
166
+ request_with_retry(:post, '/dbconnections/change_password', request_params)
167
+ end
168
+
169
+ # Trigger a password reset email.
170
+ # @see https://auth0.com/docs/api/authentication#change-password
171
+ # @see https://auth0.com/docs/connections/database/password-change
172
+ # @param email [string] User's current email
173
+ # @param password [string] User's new password; empty to trigger a
174
+ # password reset email
175
+ # @param connection_name [string] Database connection name
176
+ # @param client_id [string] Client ID override (to allow forwarding
177
+ # to a different application's login URI on password reset success page)
178
+ def reset_password(email, connection_name = UP_AUTH, client_id = @client_id)
179
+ raise Auth0::InvalidParameter, 'Must supply a valid email' if email.to_s.empty?
180
+
181
+ request_params = {
182
+ email: email,
183
+ connection: connection_name,
184
+ client_id: client_id
185
+ }
186
+
187
+ request_with_retry(:post, '/dbconnections/change_password', request_params)
166
188
  end
167
189
 
168
190
  # Start Passwordless email login flow.
@@ -182,7 +204,8 @@ module Auth0
182
204
  client_id: @client_id,
183
205
  client_secret: @client_secret
184
206
  }
185
- post('/passwordless/start', request_params)
207
+
208
+ request_with_retry(:post, '/passwordless/start', request_params)
186
209
  end
187
210
 
188
211
  # Start Passwordless SMS login flow.
@@ -198,28 +221,29 @@ module Auth0
198
221
  client_id: @client_id,
199
222
  client_secret: @client_secret
200
223
  }
201
- post('/passwordless/start', request_params)
224
+
225
+ request_with_retry(:post, '/passwordless/start', request_params)
202
226
  end
203
227
 
204
228
  # Retrive SAML 2.0 metadata XML for an Application.
205
229
  # @see https://auth0.com/docs/api/authentication#get-metadata
206
230
  # @return [xml] SAML 2.0 metadata
207
231
  def saml_metadata
208
- get("/samlp/metadata/#{@client_id}")
232
+ request_with_retry(:get, "/samlp/metadata/#{@client_id}")
209
233
  end
210
234
 
211
235
  # Retrieve WS-Federation metadata XML for a tenant.
212
236
  # @see https://auth0.com/docs/api/authentication#get-metadata36
213
237
  # @return [xml] WS-Federation metadata
214
238
  def wsfed_metadata
215
- get('/wsfed/FederationMetadata/2007-06/FederationMetadata.xml')
239
+ request_with_retry(:get, '/wsfed/FederationMetadata/2007-06/FederationMetadata.xml')
216
240
  end
217
241
 
218
242
  # Return the user information based on the Auth0 access token.
219
243
  # @see https://auth0.com/docs/api/authentication#get-user-info
220
244
  # @return [json] User information based on the Auth0 access token
221
245
  def userinfo(access_token)
222
- get('/userinfo', {}, 'Authorization' => "Bearer #{access_token}")
246
+ request_with_retry(:get, '/userinfo', {}, 'Authorization' => "Bearer #{access_token}")
223
247
  end
224
248
 
225
249
  # Return an authorization URL.