Versions Compared

Key

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

...

This WS designed to Approve Person authentication method request

Specification

Apiary

Authorization

  • Verify the validity of access token

    • Return (401, 'Invalid access token') in case of validation fails

  • Verify that token is not expired

    • in case of error - return (401, 'Invalid access token')

  • Check user scopes in order to perform this action (scope = 'authentication_method_request:write_pis')

    • Return (403, 'Your scope does not allow to access this resource. Missing allowances: authentication_method_request:write_pis') in case of invalid scope(s)

  • Check that token contains person_id

    • in case of error - return (401, 'Invalid access token')

...

  • If equals - check that person must not be authorized by confidant person, so it doesn’t correspond to following rules:

    • persons age < no_self_registration_age global parameter;

    • persons age between no_self_registration_age and person_full_legal_capacity_age global parameters and person does not have document with type from PIS_PERSON_LEGAL_CAPACITY_DOCUMENT_TYPES config parameter;

    • persons age > person_full_legal_capacity_age global parameter and exists at least one active and approved confidant person relationship for person (using following process /wiki/spaces/PCAB/pages/17415995422 Check confidant person relationship with person_id = person from request - expected :ok, :approved response)

      • In case of error - return 409 (‘Only THIRD_PERSON authentication method is allowed')

  • If not equal -

    • error - return 409 (‘Only THIRD_PERSON authentication method is allowed’)

...

  1. Verificate sms (Invoke verification module to verify OTP (OTP Verification)).

    1. If OTP is correct add phone number to the verification.verified_phones

  2. Update mpi.person_authentication_methods

    • person’s auth method that was before becomes inactive - set ended_at = now() (Get current date-time) and is_active = false

    • set new auth_method in person_auth_methods. Set fields - type,phone_numer, alias(if it is in request)

  3. Update authentication method request

    • Change entity status in il.authentication_method_request to COMPLETED

    • Set updated_at - now() (Get current date-time)

  4. Render response according to specification.