Skip to content

Инструкция по запуску

Шаг 1: Скачиание бинарника на машину

Выполните команду:

curl -sL https://api.objects.it-pvk.ru/verify-proxy/latest/install.sh | sudo bash

Шаг 2: Настройка конфигурационного файла

Выполните команду

 sudo nano /etc/verify-proxy/config.yaml.example

У вас откроется следующий файл:

conf.yml.example

— конфигурационный файл, который содержит настройки для вашего приложения.

Пример:

# Пример конфигурационного файла для Verify Proxy Go
# Скопируйте этот файл в config.yaml и заполните нужные значения

# URL целевого сервера API верификации
target_url: "https://verify.promotivation.ru"

# Ключ шифрования (не используется в текущей реализации)
encryption_key: ""

# Порт на котором будет слушать прокси сервер
port: "8080"

# IP адрес для привязки сервера (0.0.0.0 - все интерфейсы)
bind_address: "0.0.0.0"

# Путь к файлу логов (если пустой - вывод только в консоль)
log_file: "proxy.log"

# Уровень логирования: debug, info, warn, error
log_level: "debug"

# SSH RSA публичный ключ для шифрования симметричного ключа
# Должен быть получен от поставщика
public_key: "ssh-rsa AAAAB3N===="

Настройка файла config.yaml

После установки сервиса необходимо сохранить config.yaml.example как config.yaml и заполнить конфигурационный файл config.yaml своими данными.


Основные параметры

log_file

  • Указывается путь до файла, в который сервис будет записывать логи.
  • Если путь не указан или указан некорректно, файл будет создан автоматически в корне проекта.

log_level

  • Определяет уровень логирования.
  • Возможные значения:
  • debug — детальная отладочная информация, полезна на этапе тестирования.
  • info — общая информация о работе сервиса.
  • warning — предупреждения о потенциальных проблемах.
  • error — ошибки, требующие внимания.
  • critical — критические ошибки, после которых сервис может быть недоступен.

public_key

  • Используется для шифрования. Выдаётся при заключение договора

Шаг 3: Запуск

Для запуска выполнить в корне проекта команду:

 sudo verify-proxy --config=./config.yaml

При запуске не из корня проекта пропишите путь до congig.yaml

Как и какие запросы отправлять на сервис

Данный сервиc выполняет роль прокси, который:

1. принимает HTTP-запросы на выделенный порт
2. модифицирует их по определенным правилам
3. перенаправляет запросы на целевой сервис (target_url)
4. получение ответа от целевого сервиса (target_url)
5. прокси парси и отправляет его обратно клиенту

Пример запроса в прокси Получение данных от сервиса (например, отправка данных на верификацию)

Нам необходимо отправить запрос на

https://verify.promotivation.ru/api/v1/verification/data/

Следовательно, сервис, который должен обращаться к verify.promotivation.ru, будет обращаться к

http://<proxy_ip>:8080 (в соотвтвие с примером config.yaml)

И запрос будет выглядеть следующим образом

Метод: POST
URL: http://localhost:8080//api/v1/verification/data/

Заголовки:
Authorization: Bearer <JWT_ACCESS_TOKEN>
Content-Type: application/json
Тело запроса (JSON):

{
  "name": "Иван",
  "patronymic": "Иванович",
  "surname": "Иванов",
  "birthdate": "01.01.1991",
  "inn": "123456789012",
  "series": "1234",
  "number": "123456",
  "issueDate": "20.01.2011",
  "issuedWhom": "УФМС России по НСО",
  "registrationAddress": "г. Новосибирск, ул. Советская, д.15, кв.15",
  "file1": "base64_кодированное_изображение",
  "file2": "base64_кодированное_изображение",  // опционально
  "consent": true,
}
  • Обратите внимание, что изображение паспорта в file1 и file1 передаются в строковом формате.
  • Поле secret вы не передаёте, его сгенерирует и передаст proxy сервис самостоятельно.

В этом примере запрос содержит данные, которые отправляются прокси-сервису.

Ответ от прокси-сервиса (JSON):

{
  "status": "OK",
  "idPerson": "уникальный_id_верифицируемого"
}

Прокси получает ответ от целевого сервиса, парсит его и отправляет обратно клиенту в формате JSON.