Module: Auth0::Api::V2::Users
Overview
Methods to use the users endpoints
Instance Method Summary collapse
-
#add_user_permissions(user_id, permissions) ⇒ Object
Add one or more permissions from a specific user.
-
#add_user_roles(user_id, roles) ⇒ Object
Add one or more roles to a specific user.
-
#create_user(connection, options = {}) ⇒ json
Creates a new user according to optional parameters received.
-
#delete_user(user_id) ⇒ Object
Deletes a single user given its id.
-
#delete_user_authentication_method(user_id, authentication_method_id) ⇒ Object
Deletes the user’s authentication method specified by authentication_method_id.
-
#delete_user_authentication_methods(user_id) ⇒ Object
Deletes all of the user’s authentication methods.
-
#delete_user_authenticators(user_id) ⇒ Object
Delete all authenticators.
-
#delete_user_provider(user_id, provider_name) ⇒ Object
Delete a user’s multifactor provider.
-
#delete_user_sessions(user_id) ⇒ Object
Delete all sessions for a user.
-
#delete_users ⇒ Object
deprecated
Deprecated.
-
4.8.0, endpoint has been removed
-
-
#generate_recovery_code(user_id) ⇒ Object
Remove the current Guardian recovery code and generates and returns a new one.
-
#get_enrollments(user_id) ⇒ json
Get all Guardian enrollments for a specific user.
-
#get_user_organizations(user_id) ⇒ json
Get a list of organizations for a user.
-
#get_user_permissions(user_id, options = {}) ⇒ json
Get all permissions for a specific user.
-
#get_user_roles(user_id, options = {}) ⇒ json
Get all roles assigned to a specific user.
-
#invalidate_browsers(user_id) ⇒ Object
Invalidate all remembered browsers for all authentication factors for a specific user.
-
#link_user_account(user_id, body) ⇒ json
Links the account specified in the body (secondary account) to the account specified by the id param of the URL (primary account).
-
#patch_user(user_id, body) ⇒ json
(also: #update_user)
Updates a user with the object’s properties received in the optional parameters.
-
#patch_user_authentication_method(user_id, authentication_method_id, body) ⇒ Object
(also: #update_user_authentication_method)
Updates a user authentication method.
-
#post_user_authentication_method(user_id, body) ⇒ Object
(also: #create_user_authentication_method)
Create an authentication method for a user.
-
#put_all_user_authentication_methods(user_id, body) ⇒ Object
(also: #update_all_user_authentication_methods)
Updates all authentication methods by replacing them with the given ones.
-
#remove_user_permissions(user_id, permissions) ⇒ Object
Remove one or more permissions from a specific user.
-
#remove_user_roles(user_id, roles) ⇒ Object
Remove one or more roles from a specific user.
-
#unlink_user_account(user_id, provider, secondary_user_id) ⇒ json
(also: #unlink_users_account)
Unlink a user account.
-
#user(user_id, fields: nil, include_fields: true) ⇒ json
Retrieves a user given a user_id.
-
#user_authentication_method(user_id, authentication_method_id) ⇒ json
(also: #get_user_authentication_method)
Get a specific authentication method for a user.
-
#user_authentication_methods(user_id, options = {}) ⇒ json
(also: #get_user_authentication_methods)
Get the available authentication methods for a user.
-
#user_logs(user_id, options = {}) ⇒ json
(also: #get_user_log_events)
Retrieve every log event for a specific user id rubocop:disable Metrics/MethodLength, Metrics/AbcSize.
-
#user_sessions(user_id) ⇒ Object
Retrieve details for a user’s sessions.
-
#users(options = {}) ⇒ json
(also: #get_users)
Retrieves a list of Auth0 users.
Methods included from Mixins::Validation
#validate_permissions_array, #validate_strings_array
Instance Method Details
#add_user_permissions(user_id, permissions) ⇒ Object
Add one or more permissions from a specific user.
296 297 298 299 300 |
# File 'lib/auth0/api/v2/users.rb', line 296 def (user_id, ) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? = post "#{users_path}/#{user_id}/permissions", permissions: end |
#add_user_roles(user_id, roles) ⇒ Object
Add one or more roles to a specific user.
240 241 242 243 244 245 |
# File 'lib/auth0/api/v2/users.rb', line 240 def add_user_roles(user_id, roles) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? validate_strings_array roles path = "#{users_path}/#{user_id}/roles" post(path, roles: roles) end |
#create_user(connection, options = {}) ⇒ json
Creates a new user according to optional parameters received. The attribute connection is always mandatory but depending on the type of connection you are using there could be others too. For instance, Auth0 DB Connections require email and password.
49 50 51 52 53 54 55 56 |
# File 'lib/auth0/api/v2/users.rb', line 49 def create_user(connection, = {}) if !connection.is_a?(String) || connection.empty? raise Auth0::MissingParameter, 'Must supply a valid connection' end request_params = Hash[.map { |(k, v)| [k.to_sym, v] }] request_params[:connection] = connection post(users_path, request_params) end |
#delete_user(user_id) ⇒ Object
Deletes a single user given its id
84 85 86 87 88 |
# File 'lib/auth0/api/v2/users.rb', line 84 def delete_user(user_id) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? path = "#{users_path}/#{user_id}" delete(path) end |
#delete_user_authentication_method(user_id, authentication_method_id) ⇒ Object
Deletes the user’s authentication method specified by authentication_method_id
441 442 443 444 445 446 |
# File 'lib/auth0/api/v2/users.rb', line 441 def delete_user_authentication_method(user_id, authentication_method_id) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? raise Auth0::MissingParameter, 'Must supply an authentication_method_id' if authentication_method_id.to_s.empty? delete "#{users_path}/#{user_id}/authentication-methods/#{authentication_method_id}" end |
#delete_user_authentication_methods(user_id) ⇒ Object
Deletes all of the user’s authentication methods
429 430 431 432 433 |
# File 'lib/auth0/api/v2/users.rb', line 429 def delete_user_authentication_methods(user_id) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? delete "#{users_path}/#{user_id}/authentication-methods" end |
#delete_user_authenticators(user_id) ⇒ Object
Delete all authenticators
117 118 119 120 121 |
# File 'lib/auth0/api/v2/users.rb', line 117 def delete_user_authenticators(user_id) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? path = "#{users_path}/#{user_id}/authenticators" delete(path) end |
#delete_user_provider(user_id, provider_name) ⇒ Object
Delete a user’s multifactor provider
127 128 129 130 131 132 |
# File 'lib/auth0/api/v2/users.rb', line 127 def delete_user_provider(user_id, provider_name) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? raise Auth0::InvalidParameter, 'Must supply a valid provider name' if provider_name.to_s.empty? path = "#{users_path}/#{user_id}/multifactor/#{provider_name}" delete(path) end |
#delete_user_sessions(user_id) ⇒ Object
Delete all sessions for a user.
452 453 454 455 456 |
# File 'lib/auth0/api/v2/users.rb', line 452 def delete_user_sessions(user_id) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? delete "#{users_path}/#{user_id}/sessions" end |
#delete_users ⇒ Object
-
4.8.0, endpoint has been removed
Delete all users - USE WITH CAUTION
60 61 62 |
# File 'lib/auth0/api/v2/users.rb', line 60 def delete_users delete(users_path) end |
#generate_recovery_code(user_id) ⇒ Object
Remove the current Guardian recovery code and generates and returns a new one.
306 307 308 309 |
# File 'lib/auth0/api/v2/users.rb', line 306 def generate_recovery_code(user_id) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? post "#{users_path}/#{user_id}/recovery-code-regeneration" end |
#get_enrollments(user_id) ⇒ json
Get all Guardian enrollments for a specific user
253 254 255 256 |
# File 'lib/auth0/api/v2/users.rb', line 253 def get_enrollments(user_id) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? get "#{users_path}/#{user_id}/enrollments" end |
#get_user_organizations(user_id) ⇒ json
Get a list of organizations for a user.
326 327 328 329 330 |
# File 'lib/auth0/api/v2/users.rb', line 326 def get_user_organizations(user_id) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? get "#{users_path}/#{user_id}/organizations" end |
#get_user_permissions(user_id, options = {}) ⇒ json
Get all permissions for a specific user.
268 269 270 271 272 273 274 275 276 277 278 |
# File 'lib/auth0/api/v2/users.rb', line 268 def (user_id, = {}) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? request_params = { per_page: .fetch(:per_page, nil), page: .fetch(:page, nil), include_totals: .fetch(:include_totals, nil) } get "#{users_path}/#{user_id}/permissions", request_params end |
#get_user_roles(user_id, options = {}) ⇒ json
Get all roles assigned to a specific user.
212 213 214 215 216 217 218 219 220 221 |
# File 'lib/auth0/api/v2/users.rb', line 212 def get_user_roles(user_id, = {}) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? path = "#{users_path}/#{user_id}/roles" request_params = { per_page: .fetch(:per_page, nil), page: .fetch(:page, nil), include_totals: .fetch(:include_totals, nil) } get(path, request_params) end |
#invalidate_browsers(user_id) ⇒ Object
Invalidate all remembered browsers for all authentication factors for a specific user.
315 316 317 318 |
# File 'lib/auth0/api/v2/users.rb', line 315 def invalidate_browsers(user_id) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? post "#{users_path}/#{user_id}/multifactor/actions/invalidate-remember-browser" end |
#link_user_account(user_id, body) ⇒ json
Links the account specified in the body (secondary account) to the account specified by the id param of the URL (primary account).
-
With the authenticated primary account’s JWT in the Authorization header, which has the
update:current_user_identities scope. In this case only the link_with param is required in the body, containing the JWT obtained upon the secondary account’s authentication.
-
With an API V2 generated token with update:users scope. In this case you need to send provider and user_id
in the body. Optionally you can also send the connection_id param which is suitable for identifying a particular database connection for the ‘auth0’ provider.
147 148 149 150 151 152 |
# File 'lib/auth0/api/v2/users.rb', line 147 def link_user_account(user_id, body) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? path = "#{users_path}/#{user_id}/identities" post(path, body) end |
#patch_user(user_id, body) ⇒ json Also known as: update_user
Updates a user with the object’s properties received in the optional parameters. These are the attributes that can be updated at the root level: blocked, email_verified, email, verify_email, password, phone_number, phone_verified, verify_password, user_metadata, app_metadata, username Some considerations: The properties of the new object will replace the old ones. The metadata fields are an exception to this rule (user_metadata and app_metadata). These properties are merged instead of being replaced but be careful, the merge only occurs on the first level. If you are updating email_verified, phone_verified, username or password you need to specify the connection property too. If your are updating email or phone_number you need to specify the connection and the client_id properties.
106 107 108 109 110 111 |
# File 'lib/auth0/api/v2/users.rb', line 106 def patch_user(user_id, body) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? || body.empty? path = "#{users_path}/#{user_id}" patch(path, body) end |
#patch_user_authentication_method(user_id, authentication_method_id, body) ⇒ Object Also known as: update_user_authentication_method
Updates a user authentication method
416 417 418 419 420 421 422 |
# File 'lib/auth0/api/v2/users.rb', line 416 def patch_user_authentication_method(user_id, authentication_method_id, body) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? raise Auth0::MissingParameter, 'Must supply an authentication_method_id' if authentication_method_id.to_s.empty? raise Auth0::MissingParameter, 'Must supply a body' if body.to_s.empty? patch "#{users_path}/#{user_id}/authentication-methods/#{authentication_method_id}", body end |
#post_user_authentication_method(user_id, body) ⇒ Object Also known as: create_user_authentication_method
Create an authentication method for a user
382 383 384 385 386 387 |
# File 'lib/auth0/api/v2/users.rb', line 382 def post_user_authentication_method(user_id, body) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? raise Auth0::MissingParameter, 'Must supply a body' if body.to_s.empty? post "#{users_path}/#{user_id}/authentication-methods", body end |
#put_all_user_authentication_methods(user_id, body) ⇒ Object Also known as: update_all_user_authentication_methods
Updates all authentication methods by replacing them with the given ones
401 402 403 404 405 406 |
# File 'lib/auth0/api/v2/users.rb', line 401 def put_all_user_authentication_methods(user_id, body) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? raise Auth0::MissingParameter, 'Must supply a body' if body.to_s.empty? put "#{users_path}/#{user_id}/authentication-methods", body end |
#remove_user_permissions(user_id, permissions) ⇒ Object
Remove one or more permissions from a specific user.
285 286 287 288 289 |
# File 'lib/auth0/api/v2/users.rb', line 285 def (user_id, ) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? = delete_with_body "#{users_path}/#{user_id}/permissions", permissions: end |
#remove_user_roles(user_id, roles) ⇒ Object
Remove one or more roles from a specific user.
228 229 230 231 232 233 |
# File 'lib/auth0/api/v2/users.rb', line 228 def remove_user_roles(user_id, roles) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? validate_strings_array roles path = "#{users_path}/#{user_id}/roles" delete_with_body path, roles: roles end |
#unlink_user_account(user_id, provider, secondary_user_id) ⇒ json Also known as: unlink_users_account
Unlink a user account
161 162 163 164 165 166 167 |
# File 'lib/auth0/api/v2/users.rb', line 161 def unlink_user_account(user_id, provider, secondary_user_id) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? raise Auth0::MissingUserId, 'Must supply a valid secondary user_id' if secondary_user_id.to_s.empty? raise Auth0::InvalidParameter, 'Must supply a valid provider' if provider.to_s.empty? path = "#{users_path}/#{user_id}/identities/#{provider}/#{secondary_user_id}" delete(path) end |
#user(user_id, fields: nil, include_fields: true) ⇒ json
Retrieves a user given a user_id
71 72 73 74 75 76 77 78 79 |
# File 'lib/auth0/api/v2/users.rb', line 71 def user(user_id, fields: nil, include_fields: true) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? path = "#{users_path}/#{user_id}" request_params = { fields: fields, include_fields: include_fields } get(path, request_params) end |
#user_authentication_method(user_id, authentication_method_id) ⇒ json Also known as: get_user_authentication_method
Get a specific authentication method for a user.
360 361 362 363 364 365 |
# File 'lib/auth0/api/v2/users.rb', line 360 def user_authentication_method(user_id, authentication_method_id) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? raise Auth0::MissingParameter, 'Must supply a valid authentication_method_id' if authentication_method_id.to_s.empty? get "#{users_path}/#{user_id}/authentication-methods/#{authentication_method_id}" end |
#user_authentication_methods(user_id, options = {}) ⇒ json Also known as: get_user_authentication_methods
Get the available authentication methods for a user.
341 342 343 344 345 346 347 348 349 350 351 |
# File 'lib/auth0/api/v2/users.rb', line 341 def user_authentication_methods(user_id, = {}) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? request_params = { per_page: .fetch(:per_page, nil), page: .fetch(:page, nil), include_totals: .fetch(:include_totals, nil) } get "#{users_path}/#{user_id}/authentication-methods", request_params end |
#user_logs(user_id, options = {}) ⇒ json Also known as: get_user_log_events
Retrieve every log event for a specific user id rubocop:disable Metrics/MethodLength, Metrics/AbcSize
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/auth0/api/v2/users.rb', line 181 def user_logs(user_id, = {}) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? path = "#{users_path}/#{user_id}/logs" request_params = { per_page: .fetch(:per_page, nil), page: .fetch(:page, nil), include_totals: .fetch(:include_totals, nil), sort: .fetch(:sort, nil) } if request_params[:per_page].to_i > 100 raise Auth0::InvalidParameter, 'The total amount of entries per page should be less than 100' end sort_pattern = /^(([a-zA-Z0-9_\.]+))\:(1|-1)$/ if !request_params[:sort].nil? && !sort_pattern.match(request_params[:sort]) raise Auth0::InvalidParameter, 'Sort does not match pattern ^(([a-zA-Z0-9_\\.]+))\\:(1|-1)$' end get(path, request_params) end |
#user_sessions(user_id) ⇒ Object
Retrieve details for a user’s sessions.
462 463 464 465 466 |
# File 'lib/auth0/api/v2/users.rb', line 462 def user_sessions(user_id) raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? get "#{users_path}/#{user_id}/sessions" end |
#users(options = {}) ⇒ json Also known as: get_users
Retrieves a list of Auth0 users.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/auth0/api/v2/users.rb', line 26 def users( = {}) request_params = { per_page: .fetch(:per_page, nil), page: .fetch(:page, nil), include_totals: .fetch(:include_totals, nil), sort: .fetch(:sort, nil), connection: .fetch(:connection, nil), fields: .fetch(:fields, nil), include_fields: .fetch(:include_fields, nil), q: .fetch(:q, nil), search_engine: .fetch(:search_engine, nil) } get(users_path, request_params) end |