Токены доступа приложений
Режим предназначен для формирования токенов (ключей) доступа к сервису приложений ПК "Бюджет-СМАРТ" для внешних информационных систем (ИС).
Требование: в файле конфигурации appsettings.Production.json сервиса приложения ПК "Бюджет-СМАРТ" должен быть прописан параметр подключения к базе данных "Connection" в секции "SqlClient" (см далее пример).
Общая схема применения:
- Администратор ПК "Бюджет-СМАРТ" в режиме "Токены доступа приложений" создает токен доступа (ключ), и не закрывая окно тут же его копирует.
- Далее передает токен администратору другой ИС, чтоб токен сохранили и применяли при обращении с запросами к "Бюджет-СМАРТ".
- При обращении сторонней ИС к ПК "Бюджет-СМАРТ" с каким-либо запросом (например получить отчет 243н), "Бюджет-СМАРТ" ожидает в параметрах запроса токен и сравнивает его со списком выданных токенов: если предъявленный токен актуален, то запрос от стороннего ПО выполняется, иначе (токен не предъявлен, предъявлен просроченный токен, и т.п.) в исполнении запроса будет отказано.
Если при создании записи выводится сообщение "Для генерации токена необходимо настроить параметры соединения с БД", то следует в файле конфигурации appsettings.Production.json сервиса приложения ПК "Бюджет-СМАРТ" прописать параметр подключения к базе данных "Connection" в секции "SqlClient".
Пример секции в файле конфигурации с заполненным "Connection" для СУБД MS SQL (сервер "bud\sql2019", база данных "budjet25"):
"SqlClient": {
"Connection_example_pg": "Data Source Type=PostgreSQL; Host=127.0.0.1; Port=5434; Database=db1; User ID=user; Password=1; Maximum Pool Size=100;",
"Connection_example_ms": "Data Source Type=MSSQL; Data Source=ServerName; Initial Catalog=DataBaseName; User ID=user; Password=1; Max Pool Size=100;",
"Connection": "Data Source Type=MSSQL; Data Source=bud\\sql2019; Initial Catalog=budjet25; User ID=admin; Password=123456; Max Pool Size=100;",
"AppPoolSize": 0,
"AppPoolTimeout": 300,
"PoolTransactions": false,
"Traced": false,
"DataSourceType": "",
"Server": "",
"DataBase": "",
"UserName": "",
"Password ": "",
"MaxPoolSize": 0,
"ConnectionTimeout": 15,
"CommandTimeout": 3600
}
Для СУБД Postgre см образец заполнения в параметре Connection_example_pg .
Редактирование
- Токен - значение уникального ключа доступа для заданного логина. Отображается только при первом сохранении записи. Если не скопировать значение при первом сохранении, то в дальнейшем заполучить значение невозможно и потребуется создавать новый токен.
- Статус - статус токена, меняется автоматически. Срок действия контролируется по системной дате СУБД.
- Создатель - логин, создавший токен.
- Наименование - понятное пользователю обозначение токена, длиной до 250 знаков. Например "для Иванов - загрузка Договоров".
- Дата окончания действия - срок действия токена, задается пользователем при создании. По умолчанию действует один месяц. Значение по умолчанию задается в настройках режима.
- Исполнитель по умолчанию - логин в ПК "Бюджет-СМАРТ", под которым будет осуществляться операция по исполнению запроса внешней ИС . По умолчанию совпадает с создателем, но можно выбрать любого прочего пользователя.
- Примечание - примечание к токену, произвольный текст длиной до 250 знаков.
- Область применения - для каких операций создается токен. Доступные операции подгружаются автоматически, требуется проставить галки на нужных. Примечание: область применения подгружается, если в файле конфигурации сервиса приложения ПК "Бюджет-СМАРТ" прописаны параметры подключения к базе данных (параметр "Connection" в блоке "SqlClient"). Значения:
- api_eod_import "Импорт документов" - токен с таким применением разрешает загрузку документов в ПК "Бюджет-СМАРТ". К примеру используется ПК "ВЕБ-Торги" для передачи договоров в "Бюджет-СМАРТ".
- api_eod_report "Получение отчетов" - токен с таким применением разрешает получение отчетов из ПК "Бюджет-СМАРТ". К примеру, используется комплексом "243н" для получения отчетов группы "Навигатор: ОТЧЕТЫ \ Информация для размещения в ЭБ" из ПК "Бюджет-СМАРТ".
- api_eod_macro "Электронный обмен (через сервис)" - универсальная область применения, позволяет обрабатывать любые запросы от сторонних ПО (документы получение/передача, получение отчетов, и т.п.). В будущих версиях этот вариант будет удален и заменен специализированными областями применения.
- Статистика использования - история применения токена: когда и кто подключался к сервису приложения ПК "Бюджет-СМАРТ".
Взаимодействие между комплексами с токеном приложения:
- Сторонняя ИС обращается к сервису приложения ПК "Бюджет-СМАРТ" и в запросе указывает токен приложения вместе с кодом совершаемой операции.
- Сервис приложения ПК "Бюджет-СМАРТ" проверяет легальность предъявленного токена: обращается с запросом "проверить токен" к базе данных "Бюджет-СМАРТ" под учетной записью, указанной в файле конфигурации сервиса приложения appsettings.Production.json в блоке "SqlClient".
- Если в базе данных токен легален для запрошенной операции: существует, не просрочен, запрошенная операция указана в его области применения - то база отвечает успехом проверки и сервис приложения обрабатывает внешний запрос под учетной записью, указанной при генерации токена в поле "Исполнитель по умолчанию" . Иначе в обработке запроса будет отказано.