auth0 5.17.0 → 5.19.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.
- checksums.yaml +4 -4
- data/.version +1 -1
- data/CHANGELOG.md +31 -0
- data/README.md +13 -1
- data/auth0.gemspec +2 -4
- data/lib/auth0/api/v2/refresh_tokens.rb +34 -0
- data/lib/auth0/api/v2/sessions.rb +43 -0
- data/lib/auth0/api/v2/users.rb +37 -5
- data/lib/auth0/api/v2.rb +4 -0
- data/lib/auth0/mixins/httpproxy.rb +47 -33
- data/lib/auth0/mixins/token_management.rb +17 -14
- data/lib/auth0/version.rb +1 -1
- metadata +10 -338
- data/.bundle/config +0 -4
- data/.devcontainer/Dockerfile +0 -19
- data/.devcontainer/devcontainer.json +0 -37
- data/.env.example +0 -2
- data/.github/CODEOWNERS +0 -1
- data/.github/ISSUE_TEMPLATE/Bug Report.yml +0 -67
- data/.github/ISSUE_TEMPLATE/Feature Request.yml +0 -53
- data/.github/ISSUE_TEMPLATE/config.yml +0 -8
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -35
- data/.github/actions/get-prerelease/action.yml +0 -30
- data/.github/actions/get-release-notes/action.yml +0 -42
- data/.github/actions/get-version/action.yml +0 -21
- data/.github/actions/release-create/action.yml +0 -47
- data/.github/actions/rubygems-publish/action.yml +0 -30
- data/.github/actions/setup/action.yml +0 -32
- data/.github/actions/tag-exists/action.yml +0 -36
- data/.github/dependabot.yml +0 -13
- data/.github/stale.yml +0 -20
- data/.github/workflows/codeql.yml +0 -53
- data/.github/workflows/matrix.json +0 -3
- data/.github/workflows/release.yml +0 -22
- data/.github/workflows/ruby-release.yml +0 -72
- data/.github/workflows/semgrep.yml +0 -49
- data/.github/workflows/snyk.yml +0 -49
- data/.github/workflows/test.yml +0 -69
- data/.gitignore +0 -18
- data/.rspec +0 -3
- data/.rubocop.yml +0 -10
- data/.rubocop_todo.yml +0 -5
- data/.semgrepignore +0 -6
- data/.shiprc +0 -8
- data/.snyk +0 -11
- data/CODE_OF_CONDUCT.md +0 -3
- data/DEPLOYMENT.md +0 -61
- data/DEVELOPMENT.md +0 -35
- data/Dockerfile +0 -5
- data/EXAMPLES.md +0 -222
- data/Gemfile +0 -20
- data/Gemfile.lock +0 -279
- data/Guardfile +0 -37
- data/RUBYGEM.md +0 -9
- data/Rakefile +0 -31
- data/codecov.yml +0 -22
- data/examples/ruby-api/.env.example +0 -2
- data/examples/ruby-api/.gitignore +0 -80
- data/examples/ruby-api/Gemfile +0 -9
- data/examples/ruby-api/Gemfile.lock +0 -33
- data/examples/ruby-api/README.md +0 -24
- data/examples/ruby-api/config.ru +0 -2
- data/examples/ruby-api/main.rb +0 -33
- data/examples/ruby-on-rails-api/.env.example +0 -2
- data/examples/ruby-on-rails-api/.gitignore +0 -18
- data/examples/ruby-on-rails-api/Gemfile +0 -48
- data/examples/ruby-on-rails-api/README.md +0 -25
- data/examples/ruby-on-rails-api/Rakefile +0 -6
- data/examples/ruby-on-rails-api/app/assets/images/.keep +0 -0
- data/examples/ruby-on-rails-api/app/assets/javascripts/application.js +0 -16
- data/examples/ruby-on-rails-api/app/assets/stylesheets/application.css +0 -15
- data/examples/ruby-on-rails-api/app/controllers/application_controller.rb +0 -8
- data/examples/ruby-on-rails-api/app/controllers/concerns/.keep +0 -0
- data/examples/ruby-on-rails-api/app/controllers/ping_controller.rb +0 -6
- data/examples/ruby-on-rails-api/app/controllers/secured_ping_controller.rb +0 -11
- data/examples/ruby-on-rails-api/app/helpers/application_helper.rb +0 -3
- data/examples/ruby-on-rails-api/app/mailers/.keep +0 -0
- data/examples/ruby-on-rails-api/app/models/.keep +0 -0
- data/examples/ruby-on-rails-api/app/models/User.rb +0 -5
- data/examples/ruby-on-rails-api/app/models/concerns/.keep +0 -0
- data/examples/ruby-on-rails-api/app/views/layouts/application.html.erb +0 -14
- data/examples/ruby-on-rails-api/bin/bundle +0 -3
- data/examples/ruby-on-rails-api/bin/rails +0 -4
- data/examples/ruby-on-rails-api/bin/rake +0 -4
- data/examples/ruby-on-rails-api/bin/setup +0 -29
- data/examples/ruby-on-rails-api/config/application.rb +0 -23
- data/examples/ruby-on-rails-api/config/boot.rb +0 -4
- data/examples/ruby-on-rails-api/config/database.yml +0 -27
- data/examples/ruby-on-rails-api/config/environment.rb +0 -5
- data/examples/ruby-on-rails-api/config/environments/development.rb +0 -37
- data/examples/ruby-on-rails-api/config/environments/production.rb +0 -83
- data/examples/ruby-on-rails-api/config/environments/test.rb +0 -41
- data/examples/ruby-on-rails-api/config/initializers/backtrace_silencers.rb +0 -7
- data/examples/ruby-on-rails-api/config/initializers/cookies_serializer.rb +0 -3
- data/examples/ruby-on-rails-api/config/initializers/dotenv.rb +0 -4
- data/examples/ruby-on-rails-api/config/initializers/filter_parameter_logging.rb +0 -4
- data/examples/ruby-on-rails-api/config/initializers/inflections.rb +0 -16
- data/examples/ruby-on-rails-api/config/initializers/knock.rb +0 -35
- data/examples/ruby-on-rails-api/config/initializers/mime_types.rb +0 -4
- data/examples/ruby-on-rails-api/config/initializers/session_store.rb +0 -3
- data/examples/ruby-on-rails-api/config/initializers/wrap_parameters.rb +0 -14
- data/examples/ruby-on-rails-api/config/locales/en.yml +0 -23
- data/examples/ruby-on-rails-api/config/routes.rb +0 -58
- data/examples/ruby-on-rails-api/config/secrets.yml +0 -28
- data/examples/ruby-on-rails-api/config.ru +0 -4
- data/examples/ruby-on-rails-api/db/schema.rb +0 -15
- data/examples/ruby-on-rails-api/db/seeds.rb +0 -7
- data/examples/ruby-on-rails-api/lib/assets/.keep +0 -0
- data/examples/ruby-on-rails-api/lib/tasks/.keep +0 -0
- data/examples/ruby-on-rails-api/log/.keep +0 -0
- data/examples/ruby-on-rails-api/public/404.html +0 -67
- data/examples/ruby-on-rails-api/public/422.html +0 -67
- data/examples/ruby-on-rails-api/public/500.html +0 -66
- data/examples/ruby-on-rails-api/public/favicon.ico +0 -0
- data/examples/ruby-on-rails-api/public/robots.txt +0 -5
- data/examples/ruby-on-rails-api/test/controllers/.keep +0 -0
- data/examples/ruby-on-rails-api/test/fixtures/.keep +0 -0
- data/examples/ruby-on-rails-api/test/helpers/.keep +0 -0
- data/examples/ruby-on-rails-api/test/integration/.keep +0 -0
- data/examples/ruby-on-rails-api/test/mailers/.keep +0 -0
- data/examples/ruby-on-rails-api/test/models/.keep +0 -0
- data/examples/ruby-on-rails-api/test/ping_controller_test.rb +0 -8
- data/examples/ruby-on-rails-api/test/secured_ping_controller_test.rb +0 -26
- data/examples/ruby-on-rails-api/test/test_helper.rb +0 -16
- data/opslevel.yml +0 -5
- data/publish_rubygem.sh +0 -10
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_change_password/should_trigger_a_password_reset.yml +0 -93
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_email.yml +0 -85
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_password.yml +0 -85
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_invalid_audience.yml +0 -86
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_custom_audience.yml +0 -87
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_default_scope.yml +0 -88
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_saml_metadata/should_retrieve_SAML_metadata.yml +0 -110
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_fail_as_not_authorized.yml +0 -94
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_return_the_userinfo.yml +0 -176
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_wsfed_metadata/should_retrieve_WSFED_metadata.yml +0 -98
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/create_test_user.yml +0 -93
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/delete_test_user.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_add_token_to_blacklist/should_add_a_token_to_the_blacklist.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_blacklisted_tokens/should_get_the_added_token_from_the_blacklist.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_at_least_1_result.yml +0 -78
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_test_client_grant.yml +0 -78
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_delete_client_grant/should_delete_the_test_client_grant.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_patch_client_grant/should_update_the_test_client_grant.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client.yml +0 -80
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client_grant.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client_grant.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_exclude_and_include_fields_properly.yml +0 -78
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_include_the_specified_fields.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/should_get_the_test_client.yml +0 -78
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_fields_not_specified.yml +0 -79
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_the_specified_fields.yml +0 -272
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_include_the_specified_fields.yml +0 -88
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_paginate_results.yml +0 -79
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/should_get_at_least_one_client.yml +0 -271
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_delete_client/should_delete_the_test_client_without_an_error.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_patch_client/should_update_the_client_with_the_correct_attributes.yml +0 -81
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/create_test_client.yml +0 -81
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml +0 -78
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml +0 -78
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml +0 -78
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml +0 -79
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml +0 -79
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml +0 -148
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_user.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_credential.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_user.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_user.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_configure_provider/should_configure_a_new_email_provider.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_delete_the_existing_email_provider_without_an_error.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_throw_an_error_trying_to_get_the_email_provider.yml +0 -69
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_with_specific_fields.yml +0 -69
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_without_specific_fields.yml +0 -69
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/should_get_the_existing_email_provider.yml +0 -69
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_update_provider/should_update_the_existing_email_provider.yml +0 -71
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/delete_existing_provider.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_create_an_export_users_job_successfully.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_get_the_export_users_job.yml +0 -147
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_create_an_import_users_job_successfully.yml +0 -81
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_get_the_import_users_job.yml +0 -152
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_create_a_new_verification_email_job.yml +0 -149
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_get_the_completed_verification_email.yml +0 -220
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_reject_an_invalid_client_id.yml +0 -146
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/delete_imported_user.yml +0 -143
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/search_for_connection_id.yml +0 -79
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_match_the_created_log_entry.yml +0 -293
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_not_be_empty.yml +0 -293
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_fields_not_specified.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_the_specified_fields.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_have_one_log_entry.yml +0 -77
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_include_the_specified_fields.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_from/should_take_one_log_entry.yml +0 -298
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/create_test_user.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_disabled_rule.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_enabled_rule.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_user.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_delete_resource_server/should_delete_the_test_server_without_an_error.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_patch_resource_server/should_update_the_resource_server_with_the_correct_attributes.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_server/should_get_the_test_server.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_get_the_test_server.yml +0 -182
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_at_least_1_result.yml +0 -182
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_the_first_page_of_one_result.yml +0 -171
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/create_test_server.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/delete_test_server.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_permissions/should_add_a_Permission_to_the_Role_successfully.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_users/should_add_a_User_to_the_Role_successfully.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_delete_role/should_delete_the_Role_successfully.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role/should_get_the_Role_successfully.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_exactly_1_Permission.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_the_added_Permission_from_the_Role_successfully.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_exactly_1_User.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_the_added_User_from_the_Role_successfully.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_roles/should_get_the_Role_successfully.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_remove_role_permissions/should_remove_a_Permission_from_the_Role_successfully.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_update_role/should_update_the_Role_successfully.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_api.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_role.yml +0 -77
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_user.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_api.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_user.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_disabled_rule_without_an_error.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_enabled_rule_without_an_error.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_fields_not_specified.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_specified_fields.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_include_the_specified_fields.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/should_get_a_specific_rule.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_exclude_fields_not_specified.yml +0 -116
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_include_the_specified_fields.yml +0 -118
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_disabled_rule.yml +0 -95
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_enabled_rule.yml +0 -104
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_paginated_results.yml +0 -157
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/should_return_at_least_1_rule.yml +0 -120
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_update_rule/should_update_the_disabled_rule_to_be_enabled.yml +0 -77
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_disabled_rule.yml +0 -78
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_enabled_rule.yml +0 -78
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_active_users/should_have_at_least_one_active_user.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_daily_stats/should_have_at_least_one_stats_entry_for_the_timeframe.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings/should_get_the_tenant_settings.yml +0 -108
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_exclude_a_field_not_requested.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_include_the_field_requested.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_revert_the_tenant_name.yml +0 -110
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_update_the_tenant_settings_with_a_new_tenant_name.yml +0 -110
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_email_verification/should_create_an_email_verification_ticket.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_password_change/should_create_a_password_change_ticket.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/create_test_user.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/delete_test_user.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_permissions/should_add_a_Permissions_for_a_User_successfully.yml +0 -71
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_roles/should_add_a_Role_to_a_User_successfully.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_User_successfully.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_secondary_User_successfully.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user_provider/should_attempt_to_delete_the_MFA_provider_for_the_User.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_enrollments/should_get_Enrollments_for_a_User_successfully.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_exactly_1_Permission_for_a_User_successfully.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_the_correct_Permission_for_a_User_successfully.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_roles/should_get_Roles_for_a_User_successfully.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_invalidate_browsers/should_invalidate_MFA_browsers_for_the_User_successfully.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_link_user_account/should_link_two_Users_successfully.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_patch_user/should_patch_the_User_successfully.yml +0 -78
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_permissions/should_remove_a_Permission_from_a_User_successfully.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_roles/should_remove_a_Role_from_a_User_successfully.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_unlink_user_account/should_unlink_two_Users_successfully.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_fields_not_indicated.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_the_fields_indicated.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_include_the_fields_indicated.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/should_retrieve_the_created_user.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user_logs/should_get_Logs_for_a_User_successfully.yml +0 -81
- 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 -74
- 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 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_exclude_the_indicated_fields_when_paginated.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_include_the_indicated_fields_when_paginated.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_not_include_other_fields_when_paginated.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_return_the_correct_number_of_results_when_paginated.yml +0 -74
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/should_have_at_least_one_user.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_secondary_test_user.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_api.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_role.yml +0 -77
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_user.yml +0 -76
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_api.yml +0 -72
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_role.yml +0 -74
- data/spec/integration/lib/auth0/api/api_authentication_spec.rb +0 -120
- data/spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb +0 -27
- data/spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb +0 -66
- data/spec/integration/lib/auth0/api/v2/api_clients_spec.rb +0 -166
- data/spec/integration/lib/auth0/api/v2/api_connections_spec.rb +0 -159
- data/spec/integration/lib/auth0/api/v2/api_email_spec.rb +0 -86
- data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +0 -124
- data/spec/integration/lib/auth0/api/v2/api_logs_spec.rb +0 -91
- data/spec/integration/lib/auth0/api/v2/api_resource_servers_spec.rb +0 -130
- data/spec/integration/lib/auth0/api/v2/api_roles_spec.rb +0 -145
- data/spec/integration/lib/auth0/api/v2/api_rules_spec.rb +0 -177
- data/spec/integration/lib/auth0/api/v2/api_stats_spec.rb +0 -22
- data/spec/integration/lib/auth0/api/v2/api_tenants_spec.rb +0 -59
- data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +0 -59
- data/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb +0 -76
- data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +0 -273
- data/spec/integration/lib/auth0/auth0_client_spec.rb +0 -90
- data/spec/lib/auth0/api/authentication_endpoints_spec.rb +0 -750
- data/spec/lib/auth0/api/v2/actions_spec.rb +0 -322
- data/spec/lib/auth0/api/v2/anomaly_spec.rb +0 -26
- data/spec/lib/auth0/api/v2/attack_protection_spec.rb +0 -132
- data/spec/lib/auth0/api/v2/blacklists_spec.rb +0 -25
- data/spec/lib/auth0/api/v2/branding_spec.rb +0 -71
- data/spec/lib/auth0/api/v2/client_grants_spec.rb +0 -106
- data/spec/lib/auth0/api/v2/clients_spec.rb +0 -155
- data/spec/lib/auth0/api/v2/connections_spec.rb +0 -164
- data/spec/lib/auth0/api/v2/device_credentials_spec.rb +0 -102
- data/spec/lib/auth0/api/v2/emails_spec.rb +0 -47
- data/spec/lib/auth0/api/v2/grants_spec.rb +0 -91
- data/spec/lib/auth0/api/v2/guardian_spec.rb +0 -154
- data/spec/lib/auth0/api/v2/jobs_spec.rb +0 -158
- data/spec/lib/auth0/api/v2/log_streams_spec.rb +0 -84
- data/spec/lib/auth0/api/v2/logs_spec.rb +0 -48
- data/spec/lib/auth0/api/v2/organizations_spec.rb +0 -708
- data/spec/lib/auth0/api/v2/prompts_spec.rb +0 -88
- data/spec/lib/auth0/api/v2/resource_servers_spec.rb +0 -86
- data/spec/lib/auth0/api/v2/roles_spec.rb +0 -366
- data/spec/lib/auth0/api/v2/rules_spec.rb +0 -95
- data/spec/lib/auth0/api/v2/stats_spec.rb +0 -22
- data/spec/lib/auth0/api/v2/tenants_spec.rb +0 -26
- data/spec/lib/auth0/api/v2/tickets_spec.rb +0 -118
- data/spec/lib/auth0/api/v2/user_blocks_spec.rb +0 -52
- data/spec/lib/auth0/api/v2/users_by_email_spec.rb +0 -21
- data/spec/lib/auth0/api/v2/users_spec.rb +0 -849
- data/spec/lib/auth0/client_spec.rb +0 -223
- data/spec/lib/auth0/mixins/httpproxy_spec.rb +0 -596
- data/spec/lib/auth0/mixins/initializer_spec.rb +0 -172
- data/spec/lib/auth0/mixins/token_management_spec.rb +0 -136
- data/spec/lib/auth0/mixins/validation_spec.rb +0 -562
- data/spec/spec_helper.rb +0 -71
- data/spec/support/credentials.rb +0 -11
- data/spec/support/dummy_class.rb +0 -18
- data/spec/support/dummy_class_for_proxy.rb +0 -5
- data/spec/support/dummy_class_for_restclient.rb +0 -2
- data/spec/support/dummy_class_for_tokens.rb +0 -20
- data/spec/support/import_users.json +0 -13
- data/spec/support/stub_response.rb +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b8ae1bb70a0b39ac31708c2fdf869efddacfff7f068db020ea65c4a5039b4ff8
|
|
4
|
+
data.tar.gz: ca7b78cb1d13e258c4881575a672b5ed2ea9d41d66c408839deedb7ae993c632
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f7f19b4eef6c03108c991ed6db9bdfe6c8c1237685ff2d3651e594c9fde0ac499785fc1b2db2e702c3dfc0b49d386966b482d42f69e7179ab04eb5914fcbd877
|
|
7
|
+
data.tar.gz: f6b3d618c83c9a0fed4edc11b5046a9170921ad2762bb4c5479558540f20f64367e3fa62bb8a3cd2769da7f22be338cddbfff29c57f9b94862b9c096acef5e65
|
data/.version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
v5.
|
|
1
|
+
v5.19.0
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## [v5.19.0](https://github.com/auth0/ruby-auth0/tree/v5.19.0) (2026-05-08)
|
|
4
|
+
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.18.1...v5.19.0)
|
|
5
|
+
|
|
6
|
+
**Added**
|
|
7
|
+
- Make Auth0::Client#get_token public [\#725](https://github.com/auth0/ruby-auth0/pull/725) ([ttstarck](https://github.com/ttstarck))
|
|
8
|
+
|
|
9
|
+
**Fixed**
|
|
10
|
+
- Ship only runtime files in packaged gem to eliminate scanner false positives [\#721](https://github.com/auth0/ruby-auth0/pull/721) ([tmertens](https://github.com/tmertens))
|
|
11
|
+
|
|
12
|
+
## [v5.18.1](https://github.com/auth0/ruby-auth0/tree/v5.18.1) (2026-03-13)
|
|
13
|
+
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.18.0...v5.18.1)
|
|
14
|
+
|
|
15
|
+
**Changed**
|
|
16
|
+
- chore(deps): bump zache from 0.15.0 to 0.15.2 [\#691](https://github.com/auth0/ruby-auth0/pull/691) ([dependabot[bot]](https://github.com/apps/dependabot))
|
|
17
|
+
- chore(deps): bump jwt from 2.9.3 to 2.10.2 [\#682](https://github.com/auth0/ruby-auth0/pull/682) ([dependabot[bot]](https://github.com/apps/dependabot))
|
|
18
|
+
- chore(deps): bump addressable from 2.8.7 to 2.8.8 [\#686](https://github.com/auth0/ruby-auth0/pull/686) ([dependabot[bot]](https://github.com/apps/dependabot))
|
|
19
|
+
- chore(deps): bump zache from 0.13.2 to 0.15.0 [\#649](https://github.com/auth0/ruby-auth0/pull/649) ([dependabot[bot]](https://github.com/apps/dependabot))
|
|
20
|
+
|
|
21
|
+
**Fixed**
|
|
22
|
+
- fix deleting array content when passing an array as payload [\#697](https://github.com/auth0/ruby-auth0/pull/697) ([carlastabile](https://github.com/carlastabile))
|
|
23
|
+
|
|
24
|
+
**Security**
|
|
25
|
+
- fix(deps): upgrade dev dependencies to resolve Snyk security vulnerab… [\#704](https://github.com/auth0/ruby-auth0/pull/704) ([arpit-jn](https://github.com/arpit-jn))
|
|
26
|
+
|
|
27
|
+
## [v5.18.0](https://github.com/auth0/ruby-auth0/tree/v5.18.0) (2024-11-25)
|
|
28
|
+
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.17.0...v5.18.0)
|
|
29
|
+
|
|
30
|
+
**Added**
|
|
31
|
+
- Add Refresh Token endpoints for the Auth0 Management API #614 [\#623](https://github.com/auth0/ruby-auth0/pull/623) ([arpit-jn](https://github.com/arpit-jn))
|
|
32
|
+
- Add Management API calls for session API endpoints #613 [\#616](https://github.com/auth0/ruby-auth0/pull/616) ([arpit-jn](https://github.com/arpit-jn))
|
|
33
|
+
|
|
3
34
|
## [v5.17.0](https://github.com/auth0/ruby-auth0/tree/v5.17.0) (2024-05-24)
|
|
4
35
|
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.16.0...v5.17.0)
|
|
5
36
|
|
data/README.md
CHANGED
|
@@ -7,11 +7,23 @@ Ruby API client for the [Auth0](https://auth0.com) platform.
|
|
|
7
7
|
[](https://codecov.io/gh/auth0/ruby-auth0)
|
|
8
8
|
[](http://www.rubydoc.info/github/auth0/ruby-auth0/master/frames)
|
|
9
9
|
[](https://github.com/auth0/ruby-auth0/blob/master/LICENSE)
|
|
10
|
+
[](https://deepwiki.com/auth0/ruby-auth0)
|
|
10
11
|
|
|
11
12
|
<div>
|
|
12
13
|
📚 <a href="#documentation">Documentation</a> - 🚀 <a href="#getting-started">Getting started</a> - 💻 <a href="#api-reference">API reference</a> - 💬 <a href="#feedback">Feedback</a>
|
|
13
14
|
</div>
|
|
14
15
|
|
|
16
|
+
> [!NOTE]
|
|
17
|
+
> **[v6.0.0.beta.0](https://github.com/auth0/ruby-auth0/releases/tag/v6.0.0.beta.0) is now available!** This release features a completely rewritten Management API client, auto-generated from the Auth0 OpenAPI spec using [Fern](https://buildwithfern.com/), with strongly-typed responses, built-in pagination, and automatic token management.
|
|
18
|
+
>
|
|
19
|
+
> ```bash
|
|
20
|
+
> gem install auth0 --pre
|
|
21
|
+
> ```
|
|
22
|
+
>
|
|
23
|
+
> We'd love your feedback - please [open an issue](https://github.com/auth0/ruby-auth0/issues/new) if you encounter any problems.
|
|
24
|
+
>
|
|
25
|
+
> 📖 [Migration Guide](https://github.com/auth0/ruby-auth0/blob/v6/v6_MIGRATION_GUIDE.md) ・ [Changelog](https://github.com/auth0/ruby-auth0/blob/v6/CHANGELOG.md) ・ [API Reference](https://github.com/auth0/ruby-auth0/blob/v6/reference.md)
|
|
26
|
+
|
|
15
27
|
## Documentation
|
|
16
28
|
|
|
17
29
|
- [API documentation](https://www.rubydoc.info/gems/auth0) - documentation auto-generated from the code comments that explains all the available features
|
|
@@ -127,4 +139,4 @@ Please do not report security vulnerabilities on the public GitHub issue tracker
|
|
|
127
139
|
</p>
|
|
128
140
|
<p align="center">
|
|
129
141
|
This project is licensed under the MIT license. See the <a href="https://github.com/auth0/ruby-auth0/blob/master/LICENSE"> LICENSE</a> file for more info.
|
|
130
|
-
</p>
|
|
142
|
+
</p>
|
data/auth0.gemspec
CHANGED
|
@@ -11,9 +11,7 @@ Gem::Specification.new do |s|
|
|
|
11
11
|
s.summary = 'Auth0 API Client'
|
|
12
12
|
s.description = 'Ruby toolkit for Auth0 API https://auth0.com.'
|
|
13
13
|
|
|
14
|
-
s.files =
|
|
15
|
-
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
16
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
|
14
|
+
s.files = Dir['lib/**/*.rb'] + %w[LICENSE README.md CHANGELOG.md auth0.gemspec .version]
|
|
17
15
|
s.require_paths = ['lib']
|
|
18
16
|
|
|
19
17
|
s.add_runtime_dependency 'rest-client', '~> 2.1'
|
|
@@ -26,7 +24,7 @@ Gem::Specification.new do |s|
|
|
|
26
24
|
s.add_development_dependency 'rake', '~> 13.0'
|
|
27
25
|
s.add_development_dependency 'fuubar', '~> 2.0'
|
|
28
26
|
s.add_development_dependency 'guard-rspec', '~> 4.5' unless ENV['CIRCLECI']
|
|
29
|
-
s.add_development_dependency 'dotenv
|
|
27
|
+
s.add_development_dependency 'dotenv', '~> 3.0'
|
|
30
28
|
s.add_development_dependency 'rspec', '~> 3.11'
|
|
31
29
|
s.add_development_dependency 'simplecov', '~> 0.9'
|
|
32
30
|
s.add_development_dependency 'faker', '~> 2.0'
|
|
@@ -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
|
|
@@ -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
|
data/lib/auth0/api/v2/users.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module Auth0
|
|
2
2
|
module Api
|
|
3
3
|
module V2
|
|
4
|
-
# Methods to use the users endpoints
|
|
4
|
+
# Methods to use the users' endpoints
|
|
5
5
|
module Users
|
|
6
6
|
include Auth0::Mixins::Validation
|
|
7
7
|
|
|
@@ -94,10 +94,10 @@ module Auth0
|
|
|
94
94
|
# Some considerations:
|
|
95
95
|
# The properties of the new object will replace the old ones.
|
|
96
96
|
# The metadata fields are an exception to this rule (user_metadata and app_metadata). These properties are
|
|
97
|
-
# merged instead of being replaced but be careful, the merge only occurs on the first level.
|
|
97
|
+
# merged instead of being replaced, but be careful, the merge only occurs on the first level.
|
|
98
98
|
# If you are updating email_verified, phone_verified, username or password you need to specify the connection
|
|
99
99
|
# property too.
|
|
100
|
-
# If
|
|
100
|
+
# If you are updating email or phone_number you need to specify the connection and the client_id properties.
|
|
101
101
|
# @see https://auth0.com/docs/api/v2#!/Users/patch_users_by_id
|
|
102
102
|
# @param user_id [string] The user_id of the user to update.
|
|
103
103
|
# @param body [hash] The optional parameters to update.
|
|
@@ -137,7 +137,7 @@ module Auth0
|
|
|
137
137
|
# update:current_user_identities scope. In this case only the link_with param is required in the body,
|
|
138
138
|
# containing the JWT obtained upon the secondary account's authentication.
|
|
139
139
|
# 2. With an API V2 generated token with update:users scope. In this case you need to send provider and user_id
|
|
140
|
-
# in the body. Optionally you can also send the connection_id param which is suitable for identifying a
|
|
140
|
+
# in the body. Optionally, you can also send the connection_id param, which is suitable for identifying a
|
|
141
141
|
# particular database connection for the 'auth0' provider.
|
|
142
142
|
# @see https://auth0.com/docs/api/v2#!/Users/post_identities
|
|
143
143
|
# @param user_id [string] The user_id of the primary identity where you are linking the secondary account to.
|
|
@@ -465,13 +465,45 @@ module Auth0
|
|
|
465
465
|
get "#{users_path}/#{user_id}/sessions"
|
|
466
466
|
end
|
|
467
467
|
|
|
468
|
+
# Retrieve details for a user's refresh tokens.
|
|
469
|
+
# @see https://auth0.com/docs/api/management/v2/users/get-refresh-tokens-for-user
|
|
470
|
+
#
|
|
471
|
+
# @param use_id [String] The user ID
|
|
472
|
+
# @param options [hash] A hash of options for getting permissions
|
|
473
|
+
# * :take [Integer] Number of results per page. Defaults to 50.
|
|
474
|
+
# * :from [String] Optional token ID from which to start selection (exclusive).
|
|
475
|
+
# * :include_totals [boolean] Return results inside an object that contains the total result count (true)
|
|
476
|
+
# or as a direct array of results (false, default)
|
|
477
|
+
#
|
|
478
|
+
# @return [json] Returns refresh tokens for the given user_id.
|
|
479
|
+
def user_refresh_tokens(user_id, options = {})
|
|
480
|
+
raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty?
|
|
481
|
+
|
|
482
|
+
request_params = {
|
|
483
|
+
take: options.fetch(:take, nil),
|
|
484
|
+
from: options.fetch(:from, nil),
|
|
485
|
+
include_totals: options.fetch(:include_totals, nil)
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
get "#{users_path}/#{user_id}/refresh-tokens", request_params
|
|
489
|
+
end
|
|
490
|
+
|
|
491
|
+
# Delete all refresh tokens for a user.
|
|
492
|
+
#
|
|
493
|
+
# @param user_id [String] ID of the user to get remove refresh tokens for
|
|
494
|
+
# @see https://auth0.com/docs/api/management/v2/users/delete-refresh-tokens-for-user
|
|
495
|
+
def delete_user_refresh_tokens(user_id)
|
|
496
|
+
raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty?
|
|
497
|
+
|
|
498
|
+
delete "#{users_path}/#{user_id}/refresh-tokens"
|
|
499
|
+
end
|
|
500
|
+
|
|
468
501
|
private
|
|
469
502
|
|
|
470
503
|
# Users API path
|
|
471
504
|
def users_path
|
|
472
505
|
@users_path ||= '/api/v2/users'
|
|
473
506
|
end
|
|
474
|
-
|
|
475
507
|
end
|
|
476
508
|
end
|
|
477
509
|
end
|
data/lib/auth0/api/v2.rb
CHANGED
|
@@ -11,6 +11,7 @@ require 'auth0/api/v2/emails'
|
|
|
11
11
|
require 'auth0/api/v2/jobs'
|
|
12
12
|
require 'auth0/api/v2/prompts'
|
|
13
13
|
require 'auth0/api/v2/organizations'
|
|
14
|
+
require 'auth0/api/v2/refresh_tokens'
|
|
14
15
|
require 'auth0/api/v2/rules'
|
|
15
16
|
require 'auth0/api/v2/roles'
|
|
16
17
|
require 'auth0/api/v2/stats'
|
|
@@ -24,6 +25,7 @@ require 'auth0/api/v2/log_streams'
|
|
|
24
25
|
require 'auth0/api/v2/resource_servers'
|
|
25
26
|
require 'auth0/api/v2/guardian'
|
|
26
27
|
require 'auth0/api/v2/attack_protection'
|
|
28
|
+
require 'auth0/api/v2/sessions'
|
|
27
29
|
|
|
28
30
|
module Auth0
|
|
29
31
|
module Api
|
|
@@ -45,6 +47,7 @@ module Auth0
|
|
|
45
47
|
include Auth0::Api::V2::LogStreams
|
|
46
48
|
include Auth0::Api::V2::Prompts
|
|
47
49
|
include Auth0::Api::V2::Organizations
|
|
50
|
+
include Auth0::Api::V2::RefreshTokens
|
|
48
51
|
include Auth0::Api::V2::Rules
|
|
49
52
|
include Auth0::Api::V2::Roles
|
|
50
53
|
include Auth0::Api::V2::Stats
|
|
@@ -55,6 +58,7 @@ module Auth0
|
|
|
55
58
|
include Auth0::Api::V2::Tenants
|
|
56
59
|
include Auth0::Api::V2::Tickets
|
|
57
60
|
include Auth0::Api::V2::AttackProtection
|
|
61
|
+
include Auth0::Api::V2::Sessions
|
|
58
62
|
end
|
|
59
63
|
end
|
|
60
64
|
end
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'addressable/uri'
|
|
4
|
+
require 'retryable'
|
|
5
|
+
require_relative '../exception'
|
|
4
6
|
|
|
5
7
|
module Auth0
|
|
6
8
|
module Mixins
|
|
@@ -8,6 +10,7 @@ module Auth0
|
|
|
8
10
|
# for now, if you want to feel free to use your own http client
|
|
9
11
|
module HTTPProxy
|
|
10
12
|
attr_accessor :headers, :base_uri, :timeout, :retry_count
|
|
13
|
+
|
|
11
14
|
DEFAULT_RETRIES = 3
|
|
12
15
|
MAX_ALLOWED_RETRIES = 10
|
|
13
16
|
MAX_REQUEST_RETRY_JITTER = 250
|
|
@@ -16,10 +19,10 @@ module Auth0
|
|
|
16
19
|
BASE_DELAY = 100
|
|
17
20
|
|
|
18
21
|
# proxying requests from instance methods to HTTP class methods
|
|
19
|
-
%i
|
|
22
|
+
%i[get post post_file post_form put patch delete delete_with_body].each do |method|
|
|
20
23
|
define_method(method) do |uri, body = {}, extra_headers = {}|
|
|
21
|
-
body = body
|
|
22
|
-
token = get_token
|
|
24
|
+
body = safe_merge_body(body, extra_headers)
|
|
25
|
+
token = get_token
|
|
23
26
|
authorization_header(token) unless token.nil?
|
|
24
27
|
request_with_retry(method, uri, body, extra_headers)
|
|
25
28
|
end
|
|
@@ -27,8 +30,8 @@ module Auth0
|
|
|
27
30
|
|
|
28
31
|
def retry_options
|
|
29
32
|
sleep_timer = lambda do |attempt|
|
|
30
|
-
wait = BASE_DELAY * (2**attempt-1) # Exponential delay with each subsequent request attempt.
|
|
31
|
-
wait += rand(wait+1..wait+MAX_REQUEST_RETRY_JITTER) # Add jitter to the delay window.
|
|
33
|
+
wait = BASE_DELAY * (2**attempt - 1) # Exponential delay with each subsequent request attempt.
|
|
34
|
+
wait += rand(wait + 1..wait + MAX_REQUEST_RETRY_JITTER) # Add jitter to the delay window.
|
|
32
35
|
wait = [MAX_REQUEST_RETRY_DELAY, wait].min # Cap delay at MAX_REQUEST_RETRY_DELAY.
|
|
33
36
|
wait = [MIN_REQUEST_RETRY_DELAY, wait].max # Ensure delay is no less than MIN_REQUEST_RETRY_DELAY.
|
|
34
37
|
wait / 1000.to_f.round(2) # convert ms to seconds
|
|
@@ -55,6 +58,7 @@ module Auth0
|
|
|
55
58
|
|
|
56
59
|
def add_headers(h = {})
|
|
57
60
|
raise ArgumentError, 'Headers must be an object which responds to #to_hash' unless h.respond_to?(:to_hash)
|
|
61
|
+
|
|
58
62
|
@headers ||= {}
|
|
59
63
|
@headers.merge!(h.to_hash)
|
|
60
64
|
end
|
|
@@ -72,28 +76,29 @@ module Auth0
|
|
|
72
76
|
end
|
|
73
77
|
|
|
74
78
|
def request(method, uri, body = {}, extra_headers = {})
|
|
75
|
-
result =
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
79
|
+
result = case method
|
|
80
|
+
when :get
|
|
81
|
+
@headers ||= {}
|
|
82
|
+
get_headers = @headers.merge({ params: body }).merge(extra_headers)
|
|
83
|
+
call(:get, encode_uri(uri), timeout, get_headers)
|
|
84
|
+
when :delete
|
|
85
|
+
@headers ||= {}
|
|
86
|
+
delete_headers = @headers.merge({ params: body })
|
|
87
|
+
call(:delete, encode_uri(uri), timeout, delete_headers)
|
|
88
|
+
when :delete_with_body
|
|
89
|
+
call(:delete, encode_uri(uri), timeout, headers, body.to_json)
|
|
90
|
+
when :post_file
|
|
91
|
+
body.merge!(multipart: true)
|
|
92
|
+
# Ignore the default Content-Type headers and let the HTTP client define them
|
|
93
|
+
post_file_headers = headers.except('Content-Type') unless headers.nil?
|
|
94
|
+
# Actual call with the altered headers
|
|
95
|
+
call(:post, encode_uri(uri), timeout, post_file_headers, body)
|
|
96
|
+
when :post_form
|
|
97
|
+
form_post_headers = headers.except('Content-Type') unless headers.nil?
|
|
98
|
+
call(:post, encode_uri(uri), timeout, form_post_headers, body.compact)
|
|
99
|
+
else
|
|
100
|
+
call(method, encode_uri(uri), timeout, headers, body.to_json)
|
|
101
|
+
end
|
|
97
102
|
|
|
98
103
|
case result.code
|
|
99
104
|
when 200...226 then safe_parse_json(result.body)
|
|
@@ -101,7 +106,8 @@ module Auth0
|
|
|
101
106
|
when 401 then raise Auth0::Unauthorized.new(result.body, code: result.code, headers: result.headers)
|
|
102
107
|
when 403 then raise Auth0::AccessDenied.new(result.body, code: result.code, headers: result.headers)
|
|
103
108
|
when 404 then raise Auth0::NotFound.new(result.body, code: result.code, headers: result.headers)
|
|
104
|
-
when 429 then raise Auth0::RateLimitEncountered.new(result.body, code: result.code,
|
|
109
|
+
when 429 then raise Auth0::RateLimitEncountered.new(result.body, code: result.code,
|
|
110
|
+
headers: result.headers)
|
|
105
111
|
when 500 then raise Auth0::ServerError.new(result.body, code: result.code, headers: result.headers)
|
|
106
112
|
else raise Auth0::Unsupported.new(result.body, code: result.code, headers: result.headers)
|
|
107
113
|
end
|
|
@@ -118,11 +124,19 @@ module Auth0
|
|
|
118
124
|
rescue RestClient::Exception => e
|
|
119
125
|
case e
|
|
120
126
|
when RestClient::RequestTimeout
|
|
121
|
-
raise Auth0::RequestTimeout
|
|
127
|
+
raise Auth0::RequestTimeout, e.message
|
|
122
128
|
else
|
|
123
|
-
|
|
129
|
+
e.response
|
|
124
130
|
end
|
|
125
131
|
end
|
|
132
|
+
|
|
133
|
+
private
|
|
134
|
+
|
|
135
|
+
def safe_merge_body(body, extra = {})
|
|
136
|
+
return body unless body.is_a?(Hash)
|
|
137
|
+
merged = extra.any? ? body.merge(extra) : body
|
|
138
|
+
merged.compact
|
|
139
|
+
end
|
|
126
140
|
end
|
|
127
141
|
end
|
|
128
142
|
end
|
|
@@ -1,22 +1,14 @@
|
|
|
1
1
|
module Auth0
|
|
2
2
|
module Mixins
|
|
3
3
|
module TokenManagement
|
|
4
|
-
|
|
5
|
-
private
|
|
6
|
-
|
|
7
|
-
def initialize_token(options)
|
|
8
|
-
@token = options[:access_token] || options[:token]
|
|
9
|
-
# default expiry to an hour if a token was given but no expires_at
|
|
10
|
-
@token_expires_at = @token ? options[:token_expires_at] || Time.now.to_i + 3600 : nil
|
|
11
|
-
|
|
12
|
-
@audience = options[:api_identifier] || "https://#{@domain}/api/v2/"
|
|
13
|
-
get_token() if @token.nil?
|
|
14
|
-
end
|
|
15
4
|
|
|
5
|
+
# Get the Client's api token (or generate a new one if it has expired).
|
|
6
|
+
#
|
|
7
|
+
# @note This method may perform a network request to refresh an expired token. It is not thread-safe.
|
|
8
|
+
# @return [String] the api token
|
|
16
9
|
def get_token
|
|
17
|
-
# pp @token_expires_at
|
|
18
10
|
has_expired = @token && @token_expires_at ? @token_expires_at < (Time.now.to_i + 10) : false
|
|
19
|
-
|
|
11
|
+
|
|
20
12
|
if (@token.nil? || has_expired) && @client_id && (@client_secret || @client_assertion_signing_key)
|
|
21
13
|
response = api_token(audience: @audience)
|
|
22
14
|
@token = response.token
|
|
@@ -27,6 +19,17 @@ module Auth0
|
|
|
27
19
|
@token
|
|
28
20
|
end
|
|
29
21
|
end
|
|
22
|
+
|
|
23
|
+
private
|
|
24
|
+
|
|
25
|
+
def initialize_token(options)
|
|
26
|
+
@token = options[:access_token] || options[:token]
|
|
27
|
+
# default expiry to an hour if a token was given but no expires_at
|
|
28
|
+
@token_expires_at = @token ? options[:token_expires_at] || Time.now.to_i + 3600 : nil
|
|
29
|
+
|
|
30
|
+
@audience = options[:api_identifier] || "https://#{@domain}/api/v2/"
|
|
31
|
+
get_token() if @token.nil?
|
|
32
|
+
end
|
|
30
33
|
end
|
|
31
34
|
end
|
|
32
|
-
end
|
|
35
|
+
end
|
data/lib/auth0/version.rb
CHANGED