auth0 5.2.0 → 5.6.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/.gitignore +5 -0
- data/CHANGELOG.md +48 -0
- data/Gemfile +1 -0
- data/README.md +10 -8
- data/auth0.gemspec +2 -1
- data/lib/auth0/api/authentication_endpoints.rb +40 -16
- data/lib/auth0/api/v2/actions.rb +210 -0
- data/lib/auth0/api/v2/branding.rb +0 -1
- data/lib/auth0/api/v2/grants.rb +49 -0
- data/lib/auth0/api/v2/logs.rb +2 -2
- data/lib/auth0/api/v2/organizations.rb +19 -3
- data/lib/auth0/api/v2/roles.rb +7 -3
- data/lib/auth0/api/v2.rb +4 -0
- data/lib/auth0/exception.rb +12 -0
- data/lib/auth0/mixins/api_token_struct.rb +0 -1
- data/lib/auth0/mixins/httpproxy.rb +77 -34
- data/lib/auth0/mixins/initializer.rb +2 -3
- data/lib/auth0/mixins/token_management.rb +32 -0
- data/lib/auth0/mixins/validation.rb +1 -1
- data/lib/auth0/mixins.rb +2 -0
- data/lib/auth0/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_change_password/should_trigger_a_password_reset.yml +53 -23
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_email.yml +49 -18
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_password.yml +49 -18
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_invalid_audience.yml +46 -15
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_custom_audience.yml +49 -79
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_default_scope.yml +49 -80
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_saml_metadata/should_retrieve_SAML_metadata.yml +74 -21
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_fail_as_not_authorized.yml +53 -14
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_return_the_userinfo.yml +106 -48
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_wsfed_metadata/should_retrieve_WSFED_metadata.yml +62 -19
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/create_test_user.yml +57 -22
- data/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/delete_test_user.yml +38 -20
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_add_token_to_blacklist/should_add_a_token_to_the_blacklist.yml +37 -19
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_blacklisted_tokens/should_get_the_added_token_from_the_blacklist.yml +38 -23
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_at_least_1_result.yml +42 -26
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_test_client_grant.yml +42 -26
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_delete_client_grant/should_delete_the_test_client_grant.yml +38 -20
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_patch_client_grant/should_update_the_test_client_grant.yml +39 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client.yml +44 -82
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client_grant.yml +39 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client.yml +38 -20
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client_grant.yml +38 -20
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_exclude_and_include_fields_properly.yml +43 -56
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_include_the_specified_fields.yml +39 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/should_get_the_test_client.yml +43 -57
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_fields_not_specified.yml +43 -24
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_the_specified_fields.yml +236 -96
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_include_the_specified_fields.yml +52 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_paginate_results.yml +39 -25
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/should_get_at_least_one_client.yml +235 -96
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_delete_client/should_delete_the_test_client_without_an_error.yml +38 -20
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_patch_client/should_update_the_client_with_the_correct_attributes.yml +43 -57
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/create_test_client.yml +45 -82
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml +15 -16
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml +15 -16
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml +15 -16
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml +14 -15
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml +14 -15
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml +14 -15
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml +15 -16
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml +29 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml +15 -16
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml +16 -17
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_user.yml +40 -32
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_credential.yml +40 -30
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_user.yml +40 -32
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_user.yml +38 -20
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_configure_provider/should_configure_a_new_email_provider.yml +37 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_delete_the_existing_email_provider_without_an_error.yml +37 -19
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_throw_an_error_trying_to_get_the_email_provider.yml +34 -16
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_with_specific_fields.yml +36 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_without_specific_fields.yml +36 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/should_get_the_existing_email_provider.yml +36 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_update_provider/should_update_the_existing_email_provider.yml +36 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/delete_existing_provider.yml +37 -19
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_create_an_export_users_job_successfully.yml +38 -23
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_get_the_export_users_job.yml +76 -46
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_create_an_import_users_job_successfully.yml +46 -25
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_get_the_import_users_job.yml +84 -48
- 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
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_get_the_completed_verification_email.yml +116 -71
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_reject_an_invalid_client_id.yml +76 -39
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/delete_imported_user.yml +76 -43
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/search_for_connection_id.yml +43 -23
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_match_the_created_log_entry.yml +224 -196
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_not_be_empty.yml +224 -196
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_fields_not_specified.yml +38 -25
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_the_specified_fields.yml +39 -39
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_have_one_log_entry.yml +41 -40
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_include_the_specified_fields.yml +38 -26
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_from/should_take_one_log_entry.yml +229 -189
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/create_test_user.yml +40 -32
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_disabled_rule.yml +38 -20
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_enabled_rule.yml +38 -20
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_user.yml +38 -20
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_delete_resource_server/should_delete_the_test_server_without_an_error.yml +38 -20
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_patch_resource_server/should_update_the_resource_server_with_the_correct_attributes.yml +39 -24
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_server/should_get_the_test_server.yml +39 -24
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_get_the_test_server.yml +146 -23
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_at_least_1_result.yml +146 -23
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_the_first_page_of_one_result.yml +131 -24
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/create_test_server.yml +40 -25
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/delete_test_server.yml +38 -20
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_permissions/should_add_a_Permission_to_the_Role_successfully.yml +39 -32
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_users/should_add_a_User_to_the_Role_successfully.yml +38 -31
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_delete_role/should_delete_the_Role_successfully.yml +42 -30
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role/should_get_the_Role_successfully.yml +38 -30
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_exactly_1_Permission.yml +37 -30
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_the_added_Permission_from_the_Role_successfully.yml +37 -30
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_exactly_1_User.yml +37 -30
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_the_added_User_from_the_Role_successfully.yml +37 -30
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_roles/should_get_the_Role_successfully.yml +37 -29
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_remove_role_permissions/should_remove_a_Permission_from_the_Role_successfully.yml +39 -29
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_update_role/should_update_the_Role_successfully.yml +37 -30
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_api.yml +38 -31
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_role.yml +39 -31
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_user.yml +38 -31
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_api.yml +36 -26
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_user.yml +36 -26
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_disabled_rule_without_an_error.yml +38 -20
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_enabled_rule_without_an_error.yml +38 -20
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_fields_not_specified.yml +40 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_specified_fields.yml +40 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_include_the_specified_fields.yml +39 -26
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/should_get_a_specific_rule.yml +40 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_exclude_fields_not_specified.yml +80 -24
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_include_the_specified_fields.yml +82 -25
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_disabled_rule.yml +59 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_enabled_rule.yml +68 -26
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_paginated_results.yml +78 -49
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/should_return_at_least_1_rule.yml +84 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_update_rule/should_update_the_disabled_rule_to_be_enabled.yml +40 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_disabled_rule.yml +42 -29
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_enabled_rule.yml +42 -29
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_active_users/should_have_at_least_one_active_user.yml +38 -23
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_daily_stats/should_have_at_least_one_stats_entry_for_the_timeframe.yml +38 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings/should_get_the_tenant_settings.yml +72 -59
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_exclude_a_field_not_requested.yml +38 -25
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_include_the_field_requested.yml +38 -25
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_revert_the_tenant_name.yml +72 -58
- 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
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_email_verification/should_create_an_email_verification_ticket.yml +39 -26
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_password_change/should_create_a_password_change_ticket.yml +39 -26
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/create_test_user.yml +40 -32
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/delete_test_user.yml +38 -20
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_permissions/should_add_a_Permissions_for_a_User_successfully.yml +39 -35
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_roles/should_add_a_Role_to_a_User_successfully.yml +37 -25
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_User_successfully.yml +36 -24
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_secondary_User_successfully.yml +36 -24
- 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
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_enrollments/should_get_Enrollments_for_a_User_successfully.yml +37 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_exactly_1_Permission_for_a_User_successfully.yml +37 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_the_correct_Permission_for_a_User_successfully.yml +37 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_roles/should_get_Roles_for_a_User_successfully.yml +38 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_invalidate_browsers/should_invalidate_MFA_browsers_for_the_User_successfully.yml +36 -24
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_link_user_account/should_link_two_Users_successfully.yml +38 -29
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_patch_user/should_patch_the_User_successfully.yml +38 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_permissions/should_remove_a_Permission_from_a_User_successfully.yml +39 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_roles/should_remove_a_Role_from_a_User_successfully.yml +39 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_unlink_user_account/should_unlink_two_Users_successfully.yml +37 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_fields_not_indicated.yml +37 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_the_fields_indicated.yml +37 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_include_the_fields_indicated.yml +37 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/should_retrieve_the_created_user.yml +37 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user_logs/should_get_Logs_for_a_User_successfully.yml +42 -30
- 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
- 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
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_exclude_the_indicated_fields_when_paginated.yml +36 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_include_the_indicated_fields_when_paginated.yml +36 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_not_include_other_fields_when_paginated.yml +36 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_return_the_correct_number_of_results_when_paginated.yml +36 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/should_have_at_least_one_user.yml +37 -27
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_secondary_test_user.yml +38 -29
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_api.yml +38 -29
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_role.yml +39 -29
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_user.yml +38 -29
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_api.yml +36 -24
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_role.yml +42 -28
- data/spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb +0 -9
- data/spec/integration/lib/auth0/api/v2/api_connections_spec.rb +3 -3
- data/spec/integration/lib/auth0/api/v2/api_email_spec.rb +0 -31
- data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +4 -4
- data/spec/integration/lib/auth0/api/v2/api_logs_spec.rb +5 -5
- data/spec/integration/lib/auth0/api/v2/api_roles_spec.rb +3 -3
- data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +4 -4
- data/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb +8 -5
- data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +6 -33
- data/spec/lib/auth0/api/v2/actions_spec.rb +312 -0
- data/spec/lib/auth0/api/v2/grants_spec.rb +91 -0
- data/spec/lib/auth0/api/v2/organizations_spec.rb +31 -6
- data/spec/lib/auth0/api/v2/roles_spec.rb +5 -1
- data/spec/lib/auth0/client_spec.rb +3 -3
- data/spec/lib/auth0/mixins/httpproxy_spec.rb +320 -25
- data/spec/lib/auth0/mixins/initializer_spec.rb +87 -0
- data/spec/lib/auth0/mixins/token_management_spec.rb +125 -0
- data/spec/spec_helper.rb +1 -1
- data/spec/support/dummy_class_for_proxy.rb +2 -2
- data/spec/support/dummy_class_for_tokens.rb +17 -0
- metadata +30 -30
- data/.yardoc/checksums +0 -22
- data/.yardoc/complete +0 -0
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_check_if_ip_is_blocked/should_return_200_response_code.yml +0 -65
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Anomaly/_remove_ip_block/should_remove_an_IP_successfully.yml +0 -60
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_first_page_of_one_result.yml +0 -66
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_delete_device_credential/should_delete_the_test_credential_without_an_error.yml +0 -54
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/_filter_by_type/should_exclude_the_test_credential.yml +0 -59
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_have_at_least_1_entry.yml +0 -62
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/_device_credentials/should_include_the_test_credential.yml +0 -62
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_credential.yml +0 -54
- data/spec/integration/lib/auth0/api/v2/api_anomaly_spec.rb +0 -17
- 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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dd91396b4162ecec7d480c49ad4ab50568a7a116a0bd8be32edd188621d11793
|
|
4
|
+
data.tar.gz: d2584f0f09793611513c23334216237a8adbb923a08f1025683aa6a525e427b7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 30fac0340e6481da011ab2d99a1c87f9d4e66557357412d1a67d2dc34f4c1b18172af80ff5a04cfcf03ca2497470e7de51f8e5b3ba292ca44b17fbbcd0ab3e0f
|
|
7
|
+
data.tar.gz: f47a705a3223ba68fb4cd9857cb30817ff0c81981e97a9efd250e92f05b62bba37976a7ab7dd2ab666dd354822e032eb6873221f9e7d35ffaf3b59020518202c
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,53 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## [v5.6.0](https://github.com/auth0/ruby-auth0/tree/v5.6.0) (2021-09-14)
|
|
4
|
+
|
|
5
|
+
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.5.0..v5.6.0)
|
|
6
|
+
|
|
7
|
+
**Added**
|
|
8
|
+
|
|
9
|
+
- New Actions endpoints CH: Added review:medium. [\#293](https://github.com/auth0/ruby-auth0/pull/293) ([davidpatrick](https://github.com/davidpatrick))
|
|
10
|
+
|
|
11
|
+
- Updates rest-client to 2.1. [\#296](https://github.com/auth0/ruby-auth0/pull/296) ([davidpatrick](https://github.com/davidpatrick))
|
|
12
|
+
|
|
13
|
+
- Add New Grants. [\#295](https://github.com/auth0/ruby-auth0/pull/295) ([Norio4](https://github.com/Norio4))
|
|
14
|
+
|
|
15
|
+
- Add token cache and renew functionality for API requests [\#301](https://github.com/auth0/ruby-auth0/pull/295) ([stevehobbsdev](https://github.com/stevehobbsdev))
|
|
16
|
+
|
|
17
|
+
- Optional `client_id` parameter for `reset_password` [\#299](https://github.com/auth0/ruby-auth0/pull/295) ([DJRH](https://github.com/DJRH))
|
|
18
|
+
|
|
19
|
+
**Deprecated**
|
|
20
|
+
|
|
21
|
+
- Deprecate change_password in favor of reset_password. [\#297](https://github.com/auth0/ruby-auth0/pull/297) ([davidpatrick](https://github.com/davidpatrick))
|
|
22
|
+
|
|
23
|
+
## [v5.5.0](https://github.com/auth0/ruby-auth0/tree/v5.5.0) (2021-08-06)
|
|
24
|
+
|
|
25
|
+
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.4.0..v5.5.0)
|
|
26
|
+
|
|
27
|
+
**Added**
|
|
28
|
+
|
|
29
|
+
- 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))
|
|
30
|
+
|
|
31
|
+
## [v5.4.0](https://github.com/auth0/ruby-auth0/tree/v5.4.0) (2021-07-23)
|
|
32
|
+
|
|
33
|
+
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.3.0..v5.4.0)
|
|
34
|
+
|
|
35
|
+
**Fixed**
|
|
36
|
+
|
|
37
|
+
- Fixing yard issues with documentation [\#288](https://github.com/auth0/ruby-auth0/pull/288) ([davidpatrick](https://github.com/davidpatrick))
|
|
38
|
+
|
|
39
|
+
**Changed**
|
|
40
|
+
|
|
41
|
+
- Change strategy when normalizing path [\#287](https://github.com/auth0/ruby-auth0/pull/287) ([davidpatrick](https://github.com/davidpatrick))
|
|
42
|
+
|
|
43
|
+
## [v5.3.0](https://github.com/auth0/ruby-auth0/tree/v5.3.0) (2021-07-23)
|
|
44
|
+
|
|
45
|
+
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.2.0..v5.3.0)
|
|
46
|
+
|
|
47
|
+
**Added**
|
|
48
|
+
|
|
49
|
+
- Checkpoint Pagination [\#284](https://github.com/auth0/ruby-auth0/pull/284) ([davidpatrick](https://github.com/davidpatrick))
|
|
50
|
+
|
|
3
51
|
## [v5.2.0](https://github.com/auth0/ruby-auth0/tree/v5.2.0) (2021-07-20)
|
|
4
52
|
|
|
5
53
|
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.1.2..v5.2.0)
|
data/Gemfile
CHANGED
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.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
154
|
-
# password
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
246
|
+
request_with_retry(:get, '/userinfo', {}, 'Authorization' => "Bearer #{access_token}")
|
|
223
247
|
end
|
|
224
248
|
|
|
225
249
|
# Return an authorization URL.
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
module Auth0
|
|
2
|
+
module Api
|
|
3
|
+
module V2
|
|
4
|
+
# Methods to use the actions endpoints
|
|
5
|
+
module Actions
|
|
6
|
+
include Auth0::Mixins::Validation
|
|
7
|
+
|
|
8
|
+
attr_reader :actions_path
|
|
9
|
+
|
|
10
|
+
# Get all actions.
|
|
11
|
+
# @see https://auth0.com/docs/api/management/v2#!/Actions/get_actions
|
|
12
|
+
# @param trigger_id [string] An actions extensibility point.
|
|
13
|
+
# @param action_name [string] The name of the action to retrieve.
|
|
14
|
+
# @param deployed [boolean] filter to only retrieve actions that are deployed.
|
|
15
|
+
# @param per_page [integer] The amount of entries per page. Default: 50. Max value: 100.
|
|
16
|
+
# @param page [integer] The page number. Zero based.
|
|
17
|
+
# @param installed [boolean] When true, return only installed actions. When false, return only custom actions. Returns all actions by default.
|
|
18
|
+
# @return [json] Actions and pagination info
|
|
19
|
+
def actions(trigger_id, action_name, deployed: nil, per_page: nil, page: nil, installed: nil)
|
|
20
|
+
raise Auth0::MissingTriggerId, 'Must supply a valid trigger_id' if trigger_id.to_s.empty?
|
|
21
|
+
raise Auth0::MissingActionName, 'Must supply a valid action_name' if action_name.to_s.empty?
|
|
22
|
+
|
|
23
|
+
request_params = {
|
|
24
|
+
trigger_id: trigger_id,
|
|
25
|
+
action_name: action_name,
|
|
26
|
+
deployed: deployed,
|
|
27
|
+
per_page: per_page,
|
|
28
|
+
page: page,
|
|
29
|
+
installed: installed
|
|
30
|
+
}
|
|
31
|
+
path = "#{actions_path}/actions"
|
|
32
|
+
get(path, request_params)
|
|
33
|
+
end
|
|
34
|
+
alias get_actions actions
|
|
35
|
+
|
|
36
|
+
# Create a new action.
|
|
37
|
+
# @see https://auth0.com/docs/api/management/v2/#!/actions/post_action
|
|
38
|
+
# @param body [hash] See https://auth0.com/docs/api/management/v2/#!/actions/post_action for available options
|
|
39
|
+
# @return [json] Returns the created action.
|
|
40
|
+
def create_action(body = {})
|
|
41
|
+
post(actions_path, body)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Retrieve the set of triggers currently available within actions. A trigger is an extensibility point to which actions can be bound.
|
|
45
|
+
# @see https://auth0.com/docs/api/management/v2/#!/actions/get_triggers
|
|
46
|
+
#
|
|
47
|
+
# @return [json] Returns triggers of the action
|
|
48
|
+
def actions_triggers
|
|
49
|
+
path = "#{actions_path}/triggers"
|
|
50
|
+
get(path)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Get an action by id.
|
|
54
|
+
# @see https://auth0.com/docs/api/management/v2/#!/actions/get_action
|
|
55
|
+
# @param action_id [string] The action_id of the user to retrieve.
|
|
56
|
+
#
|
|
57
|
+
# @return [json] Returns the action with the given action_id if it exists.
|
|
58
|
+
def action(action_id)
|
|
59
|
+
raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty?
|
|
60
|
+
path = "#{actions_path}/actions/#{action_id}"
|
|
61
|
+
get(path)
|
|
62
|
+
end
|
|
63
|
+
alias get_action action
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
# Deletes a single action given its id
|
|
67
|
+
# @see https://auth0.com/docs/api/management/v2/#!/actions/delete_action
|
|
68
|
+
# @param action_id [string] The action ID
|
|
69
|
+
# @param force [boolean] Force action deletion detaching bindings (defaults to false)
|
|
70
|
+
def delete_action(action_id, force=false)
|
|
71
|
+
raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty?
|
|
72
|
+
path = "#{actions_path}/actions/#{action_id}"
|
|
73
|
+
delete(path, { force: force })
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# Update an existing action.
|
|
77
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Actions/patch_action
|
|
78
|
+
# @param action_id [string] The action ID
|
|
79
|
+
# @param body [hash] The optional parameters to update.
|
|
80
|
+
#
|
|
81
|
+
# @return [json] Returns the updated user.
|
|
82
|
+
def patch_action(action_id, body)
|
|
83
|
+
raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty?
|
|
84
|
+
raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? || body.empty?
|
|
85
|
+
path = "#{actions_path}/actions/#{action_id}"
|
|
86
|
+
patch(path, body)
|
|
87
|
+
end
|
|
88
|
+
alias update_action patch_action
|
|
89
|
+
|
|
90
|
+
# Retrieve information about a specific execution of a trigger.
|
|
91
|
+
# @see https://auth0.com/docs/api/management/v2/#!/actions/get_action
|
|
92
|
+
# @param execution_id [string] The ID of the exeution to retrieve.
|
|
93
|
+
#
|
|
94
|
+
# @return [json] Returns the action with the given execution_id if it exists.
|
|
95
|
+
def execution(execution_id)
|
|
96
|
+
raise Auth0::MissingExecutionId, 'Must supply a valid execution_id' if execution_id.to_s.empty?
|
|
97
|
+
path = "#{actions_path}/executions/#{execution_id}"
|
|
98
|
+
get(path)
|
|
99
|
+
end
|
|
100
|
+
alias get_execution execution
|
|
101
|
+
|
|
102
|
+
# Retrieve all of an action's versions.
|
|
103
|
+
# @see https://auth0.com/docs/api/management/v2/#!/actions/versions
|
|
104
|
+
# @param action_id [string] The ID of the action.
|
|
105
|
+
# @param per_page [integer] The amount of entries per page. Default: 50. Max value: 100.
|
|
106
|
+
# @param page [integer] The page number. Zero based
|
|
107
|
+
#
|
|
108
|
+
# @return [json] Returns the action with the given execution_id if it exists.
|
|
109
|
+
def actions_versions(action_id, page: nil, per_page: nil)
|
|
110
|
+
raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty?
|
|
111
|
+
path = "#{actions_path}/actions/#{action_id}/versions"
|
|
112
|
+
request_params = {
|
|
113
|
+
per_page: per_page,
|
|
114
|
+
page: page
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
get(path, request_params)
|
|
118
|
+
end
|
|
119
|
+
alias get_actions_versions actions_versions
|
|
120
|
+
|
|
121
|
+
# Retrieve the actions that are bound to a trigger.
|
|
122
|
+
# @see https://auth0.com/docs/api/management/v2/#!/actions/get_bindings
|
|
123
|
+
# @param trigger_id [string] An actions extensibility point.
|
|
124
|
+
# @param per_page [integer] The amount of entries per page. Default: 50. Max value: 100.
|
|
125
|
+
# @param page [integer] The page number. Zero based
|
|
126
|
+
#
|
|
127
|
+
# @return [json] Returns the action with the given trigger_id if it exists.
|
|
128
|
+
def trigger_bindings(trigger_id, page: nil, per_page: nil)
|
|
129
|
+
raise Auth0::MissingTriggerId, 'Must supply a valid trigger_id' if trigger_id.to_s.empty?
|
|
130
|
+
path = "#{actions_path}/triggers/#{trigger_id}/bindings"
|
|
131
|
+
request_params = {
|
|
132
|
+
per_page: per_page,
|
|
133
|
+
page: page
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
get(path, request_params)
|
|
137
|
+
end
|
|
138
|
+
alias get_trigger_bindings trigger_bindings
|
|
139
|
+
|
|
140
|
+
# Update the actions that are bound (i.e. attached) to a trigger.
|
|
141
|
+
# @see https://auth0.com/docs/api/management/v2/#!/actions/patch_bindings
|
|
142
|
+
# @param trigger_id [string] An actions extensibility point.
|
|
143
|
+
# @param body [hash] The optional parameters to update.
|
|
144
|
+
#
|
|
145
|
+
# @return [json] Returns the bindings that were updated.
|
|
146
|
+
def patch_trigger_bindings(trigger_id, body = nil)
|
|
147
|
+
raise Auth0::MissingTriggerId, 'Must supply a valid trigger_id' if trigger_id.to_s.empty?
|
|
148
|
+
raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? || body.empty?
|
|
149
|
+
path = "#{actions_path}/triggers/#{trigger_id}/bindings"
|
|
150
|
+
patch(path, body)
|
|
151
|
+
end
|
|
152
|
+
alias update_trigger_bindings patch_trigger_bindings
|
|
153
|
+
|
|
154
|
+
# Retrieve a specific version of an action
|
|
155
|
+
# @see https://auth0.com/docs/api/management/v2/#!/actions/get_action_version
|
|
156
|
+
# @param action_id [string] The ID of the action.
|
|
157
|
+
# @param version_id [string] The ID of the action version.
|
|
158
|
+
#
|
|
159
|
+
# @return [json] Returns the action.
|
|
160
|
+
def action_by_version(action_id, version_id)
|
|
161
|
+
raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty?
|
|
162
|
+
raise Auth0::MissingVersionId, 'Must supply a valid version_id' if version_id.to_s.empty?
|
|
163
|
+
path = "#{actions_path}/actions/#{action_id}/versions/#{version_id}"
|
|
164
|
+
get(path)
|
|
165
|
+
end
|
|
166
|
+
alias get_action_by_version action_by_version
|
|
167
|
+
|
|
168
|
+
# Deploy an action.
|
|
169
|
+
# @see https://auth0.com/docs/api/management/v2/#!/actions/post_deploy_action
|
|
170
|
+
# @param action_id [string] The ID of the action.
|
|
171
|
+
# @return [json] Returns the created action.
|
|
172
|
+
def deploy_action(action_id)
|
|
173
|
+
raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty?
|
|
174
|
+
path = "#{actions_path}/actions/#{action_id}/deploy"
|
|
175
|
+
post(path)
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
# Test an action.
|
|
179
|
+
# @see https://auth0.com/docs/api/management/v2/#!/actions/post_test_action
|
|
180
|
+
# @param action_id [string] The ID of the action.
|
|
181
|
+
# @param body [hash] See https://auth0.com/docs/api/management/v2/#!/actions/post_test_action for available options
|
|
182
|
+
# @return [json] Returns the created action.
|
|
183
|
+
def test_action(action_id, body = {})
|
|
184
|
+
raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty?
|
|
185
|
+
raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? || body.empty?
|
|
186
|
+
path = "#{actions_path}/actions/#{action_id}/test"
|
|
187
|
+
post(path, body)
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
# Performs the equivalent of a roll-back of an action to an earlier, specified version.
|
|
191
|
+
# @see https://auth0.com/docs/api/management/v2/#!/actions/post_deploy_draft_version
|
|
192
|
+
# @param action_id [string] The ID of the action.
|
|
193
|
+
# @param version_id [string] The ID of the action version.
|
|
194
|
+
# @return [json] Returns the created action.
|
|
195
|
+
def rollback_action(action_id, version_id)
|
|
196
|
+
raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty?
|
|
197
|
+
raise Auth0::MissingVersionId, 'Must supply a valid version_id' if version_id.to_s.empty?
|
|
198
|
+
path = "#{actions_path}/actions/#{action_id}/versions/#{version_id}/deploy"
|
|
199
|
+
post(path)
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
private
|
|
203
|
+
# actions API path
|
|
204
|
+
def actions_path
|
|
205
|
+
@actions_path ||= '/api/v2/actions'
|
|
206
|
+
end
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
end
|
|
@@ -35,7 +35,6 @@ module Auth0
|
|
|
35
35
|
|
|
36
36
|
# Delete template for New Universal Login Experience
|
|
37
37
|
# @see https://auth0.com/docs/api/management/v2/#!/Branding/delete_universal_login
|
|
38
|
-
# @param rule_id [string] The id of the rule to delete.
|
|
39
38
|
def delete_branding_templates_for_universal_login
|
|
40
39
|
delete(templates_path)
|
|
41
40
|
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
module Auth0
|
|
2
|
+
module Api
|
|
3
|
+
module V2
|
|
4
|
+
module Grants
|
|
5
|
+
attr_reader :grants_path
|
|
6
|
+
|
|
7
|
+
# Retrieve the grants associated with your account.
|
|
8
|
+
# @see https://auth0.com/docs/api/management/v2#!/Grants/get_grants
|
|
9
|
+
# @param client_id [string] The client_id of the grants to retrieve.
|
|
10
|
+
# @param user_id [string] The user_id of the grants to retrieve.
|
|
11
|
+
# @param audience [string] The audience of the grants to retrieve.
|
|
12
|
+
# @param page [int] The page index of the results to return. First page is 0.
|
|
13
|
+
# @param per_page [int] The number of results per page. Paging is disabled if parameter not sent.
|
|
14
|
+
# @param include_totals [boolean] Return results inside an object that contains the total result count (true) or as a direct array of results (false, default).
|
|
15
|
+
# @return [json] Returns the grants.
|
|
16
|
+
def grants(client_id: nil, user_id: nil, audience: nil, page: nil, per_page: nil, include_totals: nil)
|
|
17
|
+
request_params = {
|
|
18
|
+
client_id: client_id,
|
|
19
|
+
user_id: user_id,
|
|
20
|
+
audience: audience,
|
|
21
|
+
page: page,
|
|
22
|
+
per_page: per_page,
|
|
23
|
+
include_totals: include_totals
|
|
24
|
+
}
|
|
25
|
+
get(grants_path, request_params)
|
|
26
|
+
end
|
|
27
|
+
alias get_all_grants grants
|
|
28
|
+
|
|
29
|
+
# Delete a grant associated with your account.
|
|
30
|
+
# @see https://auth0.com/docs/api/management/v2#!/Grants/delete_grants_by_id
|
|
31
|
+
# @param id [string] The id of the grant to delete.
|
|
32
|
+
# @param user_id [string] The user_id of the grant to delete.
|
|
33
|
+
def delete_grant(id, user_id)
|
|
34
|
+
raise Auth0::InvalidParameter, 'Must specify a grant id as id' if id.to_s.empty?
|
|
35
|
+
raise Auth0::InvalidParameter, 'Must specify a user id' if user_id.to_s.empty?
|
|
36
|
+
path = "#{grants_path}/#{id}?user_id=#{user_id}"
|
|
37
|
+
delete(path)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
private
|
|
41
|
+
|
|
42
|
+
# Grants API path
|
|
43
|
+
def grants_path
|
|
44
|
+
@grants_path ||= '/api/v2/grants'
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
data/lib/auth0/api/v2/logs.rb
CHANGED
|
@@ -16,8 +16,8 @@ module Auth0
|
|
|
16
16
|
# * :fields [string] A comma separated list of fields to include or exclude from the result.
|
|
17
17
|
# * :include_fields [boolean] True if the fields specified are to be included in the result, false otherwise.
|
|
18
18
|
# * :include_totals [string] True if a query summary must be included in the result, false otherwise.
|
|
19
|
-
# * :from [string]
|
|
20
|
-
# * :take [integer]
|
|
19
|
+
# * :from [string] For checkpoint pagination, the ID from which to start selection from.
|
|
20
|
+
# * :take [integer] For checkpoint pagination, the number of entries to retrieve. Default is 50.
|
|
21
21
|
# Default: 50. Max value: 100.
|
|
22
22
|
#
|
|
23
23
|
# @return [json] Returns the list of existing log entries.
|
|
@@ -12,12 +12,16 @@ module Auth0
|
|
|
12
12
|
# @param options [hash] The Hash options used to define the paging of rersults
|
|
13
13
|
# * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100.
|
|
14
14
|
# * :page [integer] The page number. Zero based.
|
|
15
|
+
# * :from [string] For checkpoint pagination, the ID from which to start selection from.
|
|
16
|
+
# * :take [integer] For checkpoint pagination, the number of entries to retrieve. Default is 50.
|
|
15
17
|
# * :include_totals [boolean] True to include query summary in the result, false or nil otherwise.
|
|
16
18
|
# @return [json] All Organizations
|
|
17
19
|
def organizations(options = {})
|
|
18
20
|
request_params = {
|
|
19
21
|
per_page: options.fetch(:per_page, nil),
|
|
20
22
|
page: options.fetch(:page, nil),
|
|
23
|
+
from: options.fetch(:from, nil),
|
|
24
|
+
take: options.fetch(:take, nil),
|
|
21
25
|
include_totals: options.fetch(:include_totals, nil)
|
|
22
26
|
}
|
|
23
27
|
get(organizations_path, request_params)
|
|
@@ -212,13 +216,25 @@ module Auth0
|
|
|
212
216
|
# Get Members in a Organization
|
|
213
217
|
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_members
|
|
214
218
|
# @param organization_id [string] The Organization ID
|
|
215
|
-
# @param
|
|
219
|
+
# @param options [hash] The Hash options used to define the paging of rersults
|
|
220
|
+
# * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100.
|
|
221
|
+
# * :page [integer] The page number. Zero based.
|
|
222
|
+
# * :from [string] For checkpoint pagination, the ID from which to start selection from.
|
|
223
|
+
# * :take [integer] For checkpoint pagination, the number of entries to retrieve. Default is 50.
|
|
224
|
+
# * :include_totals [boolean] True to include query summary in the result, false or nil otherwise.
|
|
216
225
|
#
|
|
217
226
|
# @return [json] Returns the members for the given organization
|
|
218
|
-
def get_organizations_members(organization_id)
|
|
227
|
+
def get_organizations_members(organization_id, options = {})
|
|
219
228
|
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
|
229
|
+
request_params = {
|
|
230
|
+
per_page: options.fetch(:per_page, nil),
|
|
231
|
+
page: options.fetch(:page, nil),
|
|
232
|
+
from: options.fetch(:from, nil),
|
|
233
|
+
take: options.fetch(:take, nil),
|
|
234
|
+
include_totals: options.fetch(:include_totals, nil)
|
|
235
|
+
}
|
|
220
236
|
path = "#{organizations_members_path(organization_id)}"
|
|
221
|
-
get(path)
|
|
237
|
+
get(path, request_params)
|
|
222
238
|
end
|
|
223
239
|
|
|
224
240
|
# Add members in an organization
|
data/lib/auth0/api/v2/roles.rb
CHANGED
|
@@ -87,13 +87,17 @@ module Auth0
|
|
|
87
87
|
# @param options [hash] A hash of options for getting Roles
|
|
88
88
|
# - per_page: Number of Roles to return.
|
|
89
89
|
# - page: Page number to return, zero-based.
|
|
90
|
-
#
|
|
90
|
+
# * :from [string] For checkpoint pagination, the ID from which to start selection from.
|
|
91
|
+
# * :take [integer] For checkpoint pagination, the number of entries to retrieve. Default is 50.
|
|
92
|
+
# * :include_totals [boolean] True to include query summary in the result, false or nil otherwise.
|
|
91
93
|
def get_role_users(role_id, options = {})
|
|
92
94
|
raise Auth0::MissingParameter, 'Must supply a valid role_id' if role_id.to_s.empty?
|
|
93
95
|
|
|
94
96
|
request_params = {
|
|
95
|
-
per_page:
|
|
96
|
-
page:
|
|
97
|
+
per_page: options.fetch(:per_page, nil),
|
|
98
|
+
page: options.fetch(:page, nil),
|
|
99
|
+
from: options.fetch(:from, nil),
|
|
100
|
+
take: options.fetch(:take, nil),
|
|
97
101
|
include_totals: options.fetch(:include_totals, nil)
|
|
98
102
|
}
|
|
99
103
|
get "#{roles_path}/#{role_id}/users", request_params
|
data/lib/auth0/api/v2.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
require 'auth0/api/v2/grants'
|
|
2
|
+
require 'auth0/api/v2/actions'
|
|
1
3
|
require 'auth0/api/v2/anomaly'
|
|
2
4
|
require 'auth0/api/v2/blacklists'
|
|
3
5
|
require 'auth0/api/v2/branding'
|
|
@@ -26,6 +28,8 @@ module Auth0
|
|
|
26
28
|
module Api
|
|
27
29
|
# https://auth0.com/docs/apiv2
|
|
28
30
|
module V2
|
|
31
|
+
include Auth0::Api::V2::Grants
|
|
32
|
+
include Auth0::Api::V2::Actions
|
|
29
33
|
include Auth0::Api::V2::Anomaly
|
|
30
34
|
include Auth0::Api::V2::Blacklists
|
|
31
35
|
include Auth0::Api::V2::Branding
|