Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Оновлено посилання на Apiary.

...

Даний веб-сервіс (WS) розроблено для запиту на створення методу автентифікації для персони.

Специфікація

Apiary

Авторизація

  • Перевірити валідність токену доступу

    • Повернути (401, 'Invalid access token') в разі неуспішних перевірок

  • Перевірити, що токен дійсний

    • в разі помилки - повернути (401, 'Invalid access token')

  • Перевірити скоупи користувача на можливість виконання даної дії (scope = 'authentication_method_request:write_pis')

    • Повернути (403, 'Your scope does not allow to access this resource. Missing allowances: authentication_method_request:write_pis') в разі невалідних скоупів

  • Перевірити, що токен містисть person_id

    • в разі помилки - повернути (401, 'Invalid access token')

...

  • якщо рівний - перевірити, що персона має бути не авторизована як довірена особа, що вона не відповідає наступним правилам:

    • вік персони < no_self_registration_age глобальному параметру;

    • що вік персони між значенням no_self_registration_age та person_full_legal_capacity_age глобальних параметрів та персона не має документу з типом з конфігураційного параметру PIS_PERSON_LEGAL_CAPACITY_DOCUMENT_TYPES;

    • вік персони > person_full_legal_capacity_age глобального параметру та існує хоча б один взаємозв'язок активний та погоджений з довіреною особою з персоною (викорисовуючи наступний процес /wiki/spaces/PCAB/pages/17415995422 Check confidant person relationship з person_id = person з запиту - очікується відповідь :ok, :approved)

      • в разі помилки - повернути 409 (‘Request must be authorized by confidant person’)

  • Якщо не рівний -

    • помилка - повернути 409 (‘Only THIRD_PERSON authentication method is allowed’)

...

  1. Створити запит на метод автентифікації в il.authentication_method_request з

    • status = NEW

    • action = INSERT

    • authentication_method = $authentication_method

    • authentication_method_current =

    • authentication_method_id = $authentication_method_id

    • channel = PIS

  2. Якщо потрібен OTP верифікації

    • Викликати Initialize OTP для генерації одноразового паролю та направити його на номер клієнта.

    • Знайти запити, де person_id = person.id та authentication_method_requests.status = NEW, то

    • Змінити статус всіх знайдених authentication_method_requests на CANCELED.

    • то Approve Person authentication method request

  3. Якщо OTP верифікації не потрібен

    • Знайти запити, де person_id = person.id та authentication_method_requests.status = NEW, то

    • Змінити статус по всім знайденим authentication_method_requests на CANCELED.

    • Оновити mpi.person_authentication_methods

      • метод автентифікації персони, що був до цього, стає inactive - встановити ended_at = now() (отримати поточні дату та час) та is_active = false

      • встановити для нового auth_method в person_auth_methods. Встановити поля - type,phone_numer, alias(якщо є в запиті)

    • Оновити запит методу автентифікації

      • Змінити статус сутності в il.authentication_method_request на COMPLETED

      • Встановити updated_at - now() (Отримати поточі дату та час)

  4. Відобразити відповідь у відповідності до специфікації.