Токены доступа приложений

Режим предназначен для формирования токенов (ключей) доступа к сервису приложений ПК "Бюджет-СМАРТ" для внешних информационных систем (ИС).
Требование: в файле конфигурации appsettings.Production.json сервиса приложения ПК "Бюджет-СМАРТ" должен быть прописан параметр подключения к базе данных "Connection" в секции "SqlClient" (см далее пример).

Общая схема применения:

  1. Администратор ПК "Бюджет-СМАРТ" в режиме "Токены доступа приложений" создает токен доступа (ключ), и не закрывая окно тут же его копирует.
  2. Далее передает токен администратору другой ИС, чтоб токен сохранили и применяли при обращении с запросами к "Бюджет-СМАРТ".
  3. При обращении сторонней ИС к ПК "Бюджет-СМАРТ" с каким-либо запросом (например получить отчет 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 .

Редактирование
sr_token_app_create_77

Взаимодействие между комплексами с токеном приложения:

  1. Сторонняя ИС обращается к сервису приложения ПК "Бюджет-СМАРТ" и в запросе указывает токен приложения вместе с кодом совершаемой операции.
  2. Сервис приложения ПК "Бюджет-СМАРТ" проверяет легальность предъявленного токена: обращается с запросом "проверить токен" к базе данных "Бюджет-СМАРТ" под учетной записью, указанной в файле конфигурации сервиса приложения appsettings.Production.json в блоке "SqlClient".
  3. Если в базе данных токен легален для запрошенной операции: существует, не просрочен, запрошенная операция указана в его области применения - то база отвечает успехом проверки и сервис приложения обрабатывает внешний запрос под учетной записью, указанной при генерации токена в поле "Исполнитель по умолчанию" . Иначе в обработке запроса будет отказано.