ЕСОЗ - публічна документація

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 2 Next »

Specification

Apiary
POSTmithril/api/users
Scope

Purpose

  • Add `is_blocked`, `block_reason` column in user entity
  • Add new fields into `priv_settings`
  • Add new attribute `2fa_enable` to WS request 
  • Add logic for create 2FA item for new user 

Request parameters 

Add new parameters:

  • 2fa_enable (boolean, optional

Logic WS

  1. Create user with this structure in `users.priv_settings`:

    {
        "login_error_counter": 0,
        "otp_error_counter": 0
    }

    and this values for new columns:

    1. is_blocked = FALSE
    2. block_reason = NULL
  2. After insert new user in `users`
  3. Analyze $.2fa_enable 
    1. If $.2fa_enable = FALSE - break 
    2. If $.2fa_enable = TRUE 
      1. Insert new record in `authentication_factors` with logical status = RESET
        1. user_id = $.user_id
        2. type = `SMS`
        3. factor = NULL
        4. is_active = TRUE
        5. update_at = now()
    3. If $.2fa_enable = NULL or empty
      1. Get config-param `USER_2FA_ENABLED`
      2. If `USER_2FA_ENABLED` = TRUE
        1. Insert new record in `authentication_factors` with logical status = RESET
          1. user_id = $.user_id
          2. type = `SMS`
          3. factor = NULL
          4. is_active = TRUE
          5. update_at = now()

Response

  • 201 if user successful unblock  + user_object_view
  • 4xx in other case


  • No labels