Описание ключей сервиса новостей
Ниже представлены настройки, разделённые на секции, с описанием ключей.
Массив плагинов для импортирования календаря праздничных и нерабочих дней ImportNsiCalDaysPlugins
"ServiceSettings": {
"ImportNsiCalDaysPlugins": [
{
"PluginName": "Keysystems.NewsService.ImportXmlFileLib.dll",
"Format": "xml",
"IsDefault": true,
"ImportUrl" : "https://keysystems.ru/files/torgi/fz44/fcs_nsi/nsiCalendarDays/"
}
],
"Period": 30
},
Наименование | Описание |
---|---|
PluginName | Имя DLL-библиотеки. |
Format | Тип расширений файлов, для которых предназначен данный плагин. |
IsDefault | Флаг использования данного плагина по умолчанию |
ImportUrl | URL-адрес для импорта в фоне |
Period | Период импортирования календаря в днях в фоне. |
Настройки SslPolicy SslPolicy
"SslPolicy" : {
"CheckRemoteCertificateHost": true,
"CheckRemoteCertificateAuthenticity": true
},
Наименование | Описание |
---|---|
CheckRemoteCertificateHost | true - проверять удаленный узел сертификата;false - не проверять удаленный узел сертификата. |
CheckRemoteCertificateAuthenticity | true - проверять подлинность удаленного сертификата;false - не проверять подлинность удаленного сертификата. |
Настройка системы удостоверений для указанных типов пользователей и ролей IdentitySettings
"IdentitySettings": {
"IdentityRoles": [ "user", "admin", "service_admin" ],
"IdentityUsers": [
{
"Role": "service_admin",
"Login": "admin",
"Password": "admin"
},
{
"Role": "user",
"Login":"user",
"Password": "user"
}
]
},
Наименование | Описание |
---|---|
IdentityRoles | Настройка содержащая массив строк с ролями пользователей сервиса новостей. |
IdentityUsers | Настройка содержащая массив строк с пользователями сервиса (его роль, логин и пароль). |
Role | Роль пользователя. |
Login | Логин пользователя. |
Password | Пароль пользователя. |
Настройки OpenID Connect OpenIdConnect
"Authentication": {
"AuthenticationMethod": 3,
"OpenIdConnect": {
"Authority": "",
"ClientId": "ks_news_service_client",
"ClientSecret": "",
"CallbackPath": "/Home/Index",
"SignedOutCallbackPath": "/signoutoidc",
"ResponseType": "code",
"UsePkce": true,
"GetClaimsFromUserInfoEndpoint": true,
"SaveTokens": true,
"Scope": [ "openid", "profile", "offline_access"]
},
...
},
Наименование | Описание |
---|---|
AuthenticationMethod | Настройки аутентификации: 1 - BuiltInJwtBearer (собственная аутентификация по IdentitySettings с самописными токенами);2 - JwtBearer (валидация внешних JWT);3 - OpenIdConnect (OAuth). |
Authorit | Адрес сервиса аутентификации. |
ClientId | Идентификатор клиентского приложения (зарегистрированного в КС ID). |
ClientSecret | Секрет клиентского приложения (зарегистрированного в КС ID). |
CallbackPath | Адрес возврата (кода авторизации и ошибок) (адрес перехода на конечную точку сервиса новостей для обработки входа). |
SignedOutCallbackPath | Адрес перехода после удаленного выхода (адрес перехода на конечную точку сервиса новостей для обработки выхода). |
ResponseType | Возвращает строковое значение, которое указывает тип данных, содержащихся в ответе. |
UsePkce | Ключ проверки для обмена кодом. |
Scope | [ "openid", "profile", "offline_access" ] - список запрашиваемых scope'ов (настраивается при регистрации в КС ID). |
Настройки генератора (встроенного или внешнего) JWT BuiltInJwtBearer
ПК Бюджет-NEXT v.24.2
и v.25.1
работает только с токенами, сгенерированными самим сервисом.
Данная секция одинакова, как и для встроенного генератора JWT-токенов, так и для внешнего.
Внешним генератором JWT-токенов по отношению к сервису новостей является генераторы токенов прикладных комплексов (например, сервер приложения СМАРТ или NEXT).
В случае использования собственной аутентификации (AuthenticationMethod = 1) необходимо прописать или симметричный ключ (для алгоритма подписывания HS256, указанного SecurityAlgorithm), или пути к файлам с RSA-ключами (для алгоритма подписывания RS256, указанного SecurityAlgorithm).
В случае использования внешних JWT-токенов (AuthenticationMethod = 2) необходимо прописать или симметричный ключ, совпадающий с секцией SecurityKey прикладных комплексов (для алгоритма подписывания HS256, указанного SecurityAlgorithm), или пути к файлам с RSA-ключами (для алгоритма подписывания RS256, указанного SecurityAlgorithm) с секциями PublicKeyPemFile/PrivateKeyPemFile прикладных комплексов.
"Authentication": {
"AuthenticationMethod": 1,
"BuiltInJwtBearer":{
"SecurityAlgorithm": "HS256",
"SecurityKey": "OJ6irkWTLy9gYOXsr4qSFJBNmfuHk0c8HJaVcBOrXCIo6xaV59Zo8LgSndRUvO0hsz1fCKhOx4gGtn9ebZyFbBAoxfqBSciL4DX",
"PrivateKeyPemFile": "",
"PublicKeyPemFile": "",
"TokenLifetimeMinutes": 15
},
},
Наименование | Описание |
---|---|
AuthenticationMethod | Настройки аутентификации: 1 - BuiltInJwtBearer (собственная аутентификация по IdentitySettings с самописными токенами);2 - JwtBearer (валидация внешних JWT);3 - OpenIdConnect (OAuth). |
SecurityAlgorithm | Алгоритм подписывания JWT: например, симметричный HS256, или асимметричный RS256. |
SecurityKey | Ключ для симметричного алгоритма. |
PrivateKeyPemFile PublicKeyPemFile | Пути к файлам с RSA-ключами в формате PEM для асимметричного алгоритма. |
TokenLifetimeMinutes | Время жизни токена авторизации в минутах. |
Подключение к базе данных ConnectionStrings
"ConnectionStrings": {
"DefaultConnection": "Host=10.38.46.144;Port=5434;Database=news;Username=ksnewsuser;Password=you_password"
},
Наименование | Описание |
---|---|
DefaultConnection | Подключение к БД по умолчанию |