Configurar “appsettings.json”
O arquivo ‘appsettings.json’ em uma aplicação RESTful (ou REST API) geralmente é usado para armazenar configurações e informações de configuração para a aplicação.
Ele é parte integrante do ambiente ASP.NET Core e é usado para definir várias configurações, como conexões de banco de dados, configurações de log, configurações de autenticação, e outras variáveis de ambiente.
Para utilizar o BR One APP, o ‘appsettings.json’ deve ser configurado corretamente para garantir a conformidade da aplicação, esse processo é seguido após instalação da API.
Segue abaixo exemplo do ‘appsettings.json’ disponível para configuração do APP:
{
"AppSettings": {
"Secret": "e795d8f084be79681cd555e59881ca2f69fe91d16a4b81223bb207a3c7709gf",
"ExpiracaoMinutos": 29,
"Emissor": "BROneApontamentoProducao.API",
"ValidoEm": "BROneApontamentoProducaoApp",
"ServiceLayerURL": "https://10.0.0.0:50000/b1s/v1/",
"DefaultUser": "manager",
"DefaultPassword": "1234",
"Server": "10.0.0.0",
"User": "SYSTEM",
"Password": "1234",
"Driver": "HDBODBC",
"Type": "HANA",
"TamanhoMaximoPoolConexoes": 100
},
"Licencas": {
"Url": "https://essay-maintaining-hiring-volleyball.trycloudflare.com",
"ChaveCliente": "lic_fbeca2542d4b748dd9ba69678c4dfbce5ab5a4dd",
"TimeoutSegundos": 5,
"HeartbeatSegundos": 60
},
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"System": "Warning"
}
},
"WriteTo": [
{
"Name": "File",
"Args": {
"path": ".\\Logs\\serilog_.txt",
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level}] [Req:{RequestId}] {Message:lj}{NewLine}{Exception}",
"rollingInterval": "Day",
"retainedFileCountLimit": 30,
"fileSizeLimitBytes": 20971520,
"rollOnFileSizeLimit": true
}
},
{
"Name": "File",
"Args": {
"path": ".\\Logs\\serilog_.json",
"formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog",
"rollingInterval": "Day",
"retainedFileCountLimit": 30,
"fileSizeLimitBytes": 20971520,
"rollOnFileSizeLimit": true
}
}
],
"Enrich": [
"FromLogContext",
"WithMachineName",
"WithProcessId",
"WithThreadId"
]
}
}
Segue abaixo detalhe sobre os campos disponíveis no appsettings.json:
{
"AppSettings": {
"Secret": "A chave secreta usada para assinar os tokens JWT.",
"ExpiracaoSegundos": "Esse campo é utilizado para definir o tempo de duração do usuário com o APP, expirando o tempo é necessário realizar um login novamente.",
"Emissor": "O emissor dos tokens JWT (\"BROne\").",
"ValidoEm": "O URI válido para o qual os tokens são emitidos (\"https://localhost\")."
"ServiceLayerURL": "O endereço da camada de serviço (\"https://10.0.0.0:50000/b1s/v1/").",
"DefaultUser": "O nome de usuário para autenticação na camada de serviço (\"manager\").",
"DefaultPassword": "A senha para autenticação na camada de serviço (\"1234\"),
"Server": "O nome do servidor e a porta separados por dois pontos (\"10.0.0.0"),
"User": "O nome de usuário do banco de dados (\"SYSTEM\"),
"Password": "A senha do banco de dados (\"1234\"),
"Driver": "O driver do banco de dados (\"HDBODBC\").",
"Type": "O tipo de banco de dados (\"HANA\"),
"TamanhoMaximoPoolConexoes": 100
},
"Licencas": {
"Url": URL de licenças,
"ChaveCliente": "A chave secreta usada para acessar licenças",
"TimeoutSegundos": 5,
"HeartbeatSegundos": 60
},
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"System": "Warning"
}
},
"WriteTo": [
{
"Name": "File",
"Args": {
"path": ".\\Logs\\serilog_.txt",
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level}] [Req:{RequestId}] {Message:lj}{NewLine}{Exception}",
"rollingInterval": "Day",
"retainedFileCountLimit": 30,
"fileSizeLimitBytes": 20971520,
"rollOnFileSizeLimit": true
}
},
{
"Name": "File",
"Args": {
"path": ".\\Logs\\serilog_.json",
"formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog",
"rollingInterval": "Day",
"retainedFileCountLimit": 30,
"fileSizeLimitBytes": 20971520,
"rollOnFileSizeLimit": true
}
}
],
"Enrich": [
"FromLogContext",
"WithMachineName",
"WithProcessId",
"WithThreadId"
]
}
}