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

Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

Version 1 Next »

Мета

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

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

Apiary

Авторизація

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

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

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

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

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

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

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

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

Перевірити персону

  • Отримати person_id з токену (x-person-id хедер)

  • Перевірити статус персони, що він активний (status = ‘active' & is_active = 'true’)

    • в разі помилки - повернути 404 ('Person is not found')

Перевірити довірену особу та взаємозв'язок

Якщо персона юридично не дієздатна - система має переконатись, що її дані оновлюються довіреною особою та є зареєстрований та верифікований взаємозв'язок.

Отримати applicant_person_id з токену, порівняти цого до person_id з токену:

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

    • вік персони < 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 з person_id = person з запиту - очікується відповідь :ok, :approved)

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

  • Якщо не рівний - перевірити взаємозв'язок по наступним крокам:

    • Перевірити, що зареєстрований взаємозв'язок між person_id та applicant_person_id(MPI.confidant_person_relationships)

    • Перевірити, що взаємозв'язок є VERIFIED

      • в разі помилки - повернути 409 (‘Can’t confirm relationship’)

    • Перевірити, що існує applicant_person_id (status = 'active' & is_active = 'true') та має будь-який verification_status але не NOT_VERIFIED

      • в разі помилки - повернути 409 (‘Confidant person not found or is not verified’)

Перевірити запит

  • Перевірити метод автентифікації. il.authentication_method_request.auth_methos_current.type = THIRD_PERSON or ОТР

    • в разі помилки - повернути 403 ('Only THIRD_PERSON or ОТР authentication method types could be updated')

  • Перевірити, що метод автентифікації належить персоні

    1. в разі помилки - повернути 404 ('Such authentication method does not belong to this person')

  • Перевірити, що auth_method активний (person_authentication_methods.ended_at > now())

    • в разі помилки - повернути 422 ('Authentication method isn’t active')

  • Перевірити, що інша особа оновлена

    • в разі помилки - повернути 422 ('Only alias can be updated')

Сервісна логіка

  1. Отримати person_id з токену (x-person-id хедер).

  2. Оновити метод автентифікації персони

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

  • No labels