Oriente.Acessos.Client 0.1.0
Oriente.Acessos.Client
Liga um app .NET ao AcessoService, o registro central de acessos da Oriente Farma.
É um data provider do Audit.NET: quem captura
url, corpo, retorno, status, IP e usuário é o Audit.WebApi — este pacote só entrega isso
ao serviço.
Você não escreve DTO, HttpClient nem filtro. Se estiver escrevendo, parou de usar o pacote.
Instalar
dotnet add package Oriente.Acessos.Client
dotnet add package Audit.WebApi.Core
Ligar
appsettings.json — a URL pode ficar aqui, a chave não:
{
"Acessos": {
"Url": "https://acessos.orientefarma.com.br",
"TimeoutSegundos": 5
}
}
A chave vai em env var (Acessos__ApiKey) ou user-secrets. Ela identifica a plataforma:
idplataforma e plataforma saem dela, no servidor — o app não escolhe em nome de quem grava.
Program.cs:
builder.Services.AddAcessosAudit(builder.Configuration);
Para a falha de envio cair no log do app em vez de no Trace:
builder.Services.AddAcessosAudit(builder.Configuration,
aoFalhar: ex => Log.Warning(ex, "Falha ao registrar acesso"));
Controller:
[AuditApi(IncludeHeaders = false, IncludeRequestBody = true, IncludeResponseBody = true)]
public class PedidosController : ControllerBase { }
Ou global, em AddControllers:
options.AddAuditFilter(cfg => cfg.LogAllActions().WithAuditEventType("{controller}/{action}"));
Marque o que não pode ser registrado
[HttpPost("login")]
public IActionResult Login([AuditIgnore] LoginRequest requisicao) { ... }
O serviço mascara senha, password, token, authorization, apiKey e secret antes
de gravar — mas isso é rede de proteção, não desculpa. O que o [AuditIgnore] cobre nem
sai da sua aplicação.
O que esperar
- Não derruba nem segura o app. O envio sai do caminho da resposta e falha em silêncio, com timeout curto. Auditoria indisponível não vira app indisponível.
- Perde evento se o serviço cair. Não há fila durável nesta versão. Se algum dia não puder perder nenhum registro, o lugar de resolver é aqui, não no app consumidor.
macfica nulo em app web — navegador não entrega MAC. A coluna espera pelos apps que têm essa informação.- Requisição anônima é registrada como
(anonimo). Login que falhou é o registro mais útil da trilha; descartar por falta de usuário jogaria fora justamente ele.
Como o time instala
O pacote vive no GitHub Packages da org, que não tem leitura anônima. Uma vez por máquina:
gh auth token # ou um PAT clássico com escopo read:packages
dotnet nuget add source https://nuget.pkg.github.com/OrienteFarma/index.json \
--name orientefarma --username <seu-usuario-github> --password <token> --store-password-in-clear-text
Depois disso, dotnet add package Oriente.Acessos.Client funciona normalmente.
Em CI, prefira um nuget.config no repo consumidor com a senha vindo de variável:
<configuration>
<packageSources>
<add key="orientefarma" value="https://nuget.pkg.github.com/OrienteFarma/index.json" />
</packageSources>
<packageSourceCredentials>
<orientefarma>
<add key="Username" value="%GITHUB_ACTOR%" />
<add key="ClearTextPassword" value="%GITHUB_TOKEN%" />
</orientefarma>
</packageSourceCredentials>
</configuration>
Como publicar uma versão nova
Suba <Version> no csproj — versão já publicada não pode ser sobrescrita — e:
cd backend
dotnet pack src/Oriente.Acessos.Client -c Release -o ./nupkg
dotnet nuget push ./nupkg/Oriente.Acessos.Client.<versao>.nupkg \
--source https://nuget.pkg.github.com/OrienteFarma/index.json \
--api-key <PAT com write:packages>
No packages depend on Oriente.Acessos.Client.
.NET Standard 2.0
- Audit.NET (>= 32.3.1)
- Audit.WebApi.Core (>= 32.3.1)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 8.0.0)
- System.Security.Cryptography.Xml (>= 9.0.19)
- System.Text.RegularExpressions (>= 4.3.1)
| Version | Downloads | Last updated |
|---|---|---|
| 0.1.0 | 0 | 08/20/2026 |