Nuuvify.CommonPack.Security
2.5.0-test.26060608
See the version list below for details.
dotnet add package Nuuvify.CommonPack.Security --version 2.5.0-test.26060608
NuGet\Install-Package Nuuvify.CommonPack.Security -Version 2.5.0-test.26060608
<PackageReference Include="Nuuvify.CommonPack.Security" Version="2.5.0-test.26060608" />
<PackageVersion Include="Nuuvify.CommonPack.Security" Version="2.5.0-test.26060608" />
<PackageReference Include="Nuuvify.CommonPack.Security" />
paket add Nuuvify.CommonPack.Security --version 2.5.0-test.26060608
#r "nuget: Nuuvify.CommonPack.Security, 2.5.0-test.26060608"
#:package Nuuvify.CommonPack.Security@2.5.0-test.26060608
#addin nuget:?package=Nuuvify.CommonPack.Security&version=2.5.0-test.26060608&prerelease
#tool nuget:?package=Nuuvify.CommonPack.Security&version=2.5.0-test.26060608&prerelease
Nuuvify.CommonPack.Security
Biblioteca de segurança para aplicações ASP.NET Core que centraliza setup de autenticação, autorização e acesso às claims do usuário autenticado.
O pacote principal reúne utilitários para cenários com JWT e OpenID, além de contratos usados pelos pacotes complementares Nuuvify.CommonPack.Security.JwtCredentials e Nuuvify.CommonPack.Security.JwtStore.Ef.
O que o pacote oferece
- setup de autenticação JWT via
AddSecuritySetup - setup complementar para fluxos OpenID via
AddOpenIdSecuritySetup - handlers de autorização para políticas e validação por claims
- helper
IUserAuthenticatedpara leitura do usuário autenticado, claims e papéis - opções de token centralizadas em
JwtTokenOptions
Quando usar
Use este pacote quando a aplicação precisar:
- validar tokens JWT emitidos por uma autoridade conhecida
- configurar autenticação e autorização de forma padronizada no container de DI
- acessar claims e informações do usuário atual sem espalhar dependência de
HttpContext - integrar fluxos baseados em OpenID e transformação adicional de claims
Configuração JWT
O ponto de entrada principal para JWT é a extensão AddSecuritySetup.
using Nuuvify.CommonPack.Security.Jwt;
builder.Services.AddSecuritySetup(builder.Configuration);
Por padrão, o método lê a seção JwtTokenOptions, registra IUserAuthenticated, IHttpContextAccessor e configura JwtBearer com validação de emissor, audiência, chave de assinatura e expiração.
Exemplo de configuração
{
"JwtTokenOptions": {
"Issuer": "nuuvify-auth",
"Audience": "nuuvify-api",
"SecretKey": "uma-chave-com-pelo-menos-32-caracteres-seguros"
}
}
Configuração OpenID
Para cenários OpenID, o pacote expõe AddOpenIdSecuritySetup, que registra os componentes necessários para autorização, transformação de claims e acesso ao usuário autenticado.
using Nuuvify.CommonPack.Security.JwtOpenId;
builder.Services.AddOpenIdSecuritySetup(builder.Configuration);
Esse setup complementa a infraestrutura de autenticação já existente na aplicação e adiciona os serviços auxiliares usados pelos handlers do pacote.
Acesso ao usuário autenticado
O contrato IUserAuthenticated permite consultar o usuário atual, autenticação, claims e papéis sem espalhar leitura direta de HttpContext.
Exemplos comuns:
- verificar se o usuário está autenticado
- recuperar o login atual
- ler uma claim específica
- verificar pertença a papel ou grupo
JwtTokenOptions
JwtTokenOptions centraliza as opções usadas na validação e emissão de tokens. Entre os campos mais relevantes estão:
IssuerAudienceSecretKeyNotBeforeValidForExpiration
O pacote exige chave simétrica válida e trata tempo de expiração com ClockSkew zerado no setup JWT padrão.
Observações de segurança
- mantenha
SecretKeyfora do código-fonte e prefira secret manager, vault ou configuração segura do ambiente - trate mudanças em emissor, audiência, claims obrigatórias e expiração como mudanças de contrato para consumidores
- não enfraqueça validações de token sem teste explícito e análise de impacto
- evite expor detalhes sensíveis de autenticação em logs e mensagens de erro
Pacotes relacionados
Nuuvify.CommonPack.Security.JwtCredentials: suporte complementar para credenciais JWTNuuvify.CommonPack.Security.JwtStore.Ef: persistência de dados de JWT com Entity Framework
Validação recomendada ao alterar este pacote
- cenários de token válido e inválido
- expiração e audiência incorreta
- claims esperadas e autorização negada
- ausência de vazamento de segredo ou detalhe sensível
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 8.0.11)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 8.0.11)
- Microsoft.AspNetCore.Authorization (>= 8.0.11)
- Microsoft.Extensions.Caching.SqlServer (>= 8.0.11)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 8.0.0)
- Nuuvify.CommonPack.Security.Abstraction (>= 2.5.0-test.26060608)
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0-test.25052502 | 0 | 5/25/2025 |
| 2.5.0-test.26060608 | 0 | 6/6/2026 |
| 2.5.0-test.26060606 | 0 | 6/6/2026 |
| 2.4.0-test.26060602 | 0 | 6/6/2026 |
| 2.4.0-test.26041707 | 0 | 4/17/2026 |
| 2.3.0-test.26033106 | 0 | 3/31/2026 |
| 2.2.0-test.25102904 | 1 | 10/29/2025 |
| 2.2.0-test.25102902 | 0 | 10/29/2025 |
| 2.1.0-test.25101302 | 161 | 10/13/2025 |
| 2.1.0-test.25101102 | 3 | 10/12/2025 |
| 2.1.0-test.25100702 | 5 | 10/8/2025 |
| 2.1.0-test.25100602 | 15 | 10/6/2025 |
| 2.1.0-test.25100507 | 5 | 10/6/2025 |
| 2.1.0-test.25100503 | 3 | 10/5/2025 |
| 2.1.0-test.25093008 | 31 | 9/30/2025 |
# Changelog - Nuuvify.CommonPack.Security
Todas as mudanças notáveis deste pacote serão documentadas neste arquivo.
O formato é baseado em [Keep a Changelog](https://keepachangelog.com/pt-br/1.0.0/),
e este projeto adere ao [Semantic Versioning](https://semver.org/lang/pt-BR/spec/v2.0.0.html).
## [Não Lançado]
### Adicionado
### Alterado
### Corrigido
### Removido
### Segurança
## [Sem versão registrada] - 2026-05-29
### Adicionado
- Estrutura inicial do changelog padronizada para este pacote.