Nuuvify.CommonPack.Security.JwtCredentials 2.5.0

dotnet add package Nuuvify.CommonPack.Security.JwtCredentials --version 2.5.0
                    
NuGet\Install-Package Nuuvify.CommonPack.Security.JwtCredentials -Version 2.5.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Nuuvify.CommonPack.Security.JwtCredentials" Version="2.5.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nuuvify.CommonPack.Security.JwtCredentials" Version="2.5.0" />
                    
Directory.Packages.props
<PackageReference Include="Nuuvify.CommonPack.Security.JwtCredentials" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Nuuvify.CommonPack.Security.JwtCredentials --version 2.5.0
                    
#r "nuget: Nuuvify.CommonPack.Security.JwtCredentials, 2.5.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Nuuvify.CommonPack.Security.JwtCredentials@2.5.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Nuuvify.CommonPack.Security.JwtCredentials&version=2.5.0
                    
Install as a Cake Addin
#tool nuget:?package=Nuuvify.CommonPack.Security.JwtCredentials&version=2.5.0
                    
Install as a Cake Tool

Nuuvify.CommonPack.Security.JwtCredentials

Pacote para gerenciamento de credenciais JWK/JWKS usadas na assinatura e distribuição de chaves para JWT.

Ele fornece o builder principal para registrar serviços de geração e armazenamento de chaves, além de opções para cache de tokens e persistência do conjunto de chaves.

O que o pacote oferece

  • registro do builder via AddJwksManager
  • configuração de opções em JwksOptions
  • geração e gerenciamento de JWK/JWKS
  • persistência de chaves em store em memória por padrão
  • integração opcional com cache distribuído SQL Server para tokens
  • suporte a múltiplos algoritmos de assinatura, incluindo HMAC, RSA, RSA-PSS e ECDSA

Quando usar

Use este pacote quando a aplicação emissora de tokens precisar:

  • gerenciar chaves de assinatura como JWK/JWKS
  • expor ou rotacionar chaves de forma controlada
  • centralizar as opções de algoritmo e cache do conjunto de chaves
  • integrar armazenamento de token com cache distribuído

Registro básico

O ponto de entrada principal é AddJwksManager.

using Nuuvify.CommonPack.Security.JwtCredentials;

builder.Services
	.AddJwksManager(options =>
	{
		options.Algorithm = Algorithm.ES256;
		options.AlgorithmsToKeep = 2;
		options.CacheTime = TimeSpan.FromMinutes(15);
	})
	.PersistKeysInCache();

Esse fluxo registra serviços como IJwkService, IJwkSetService e um IJwkStore em memória.

JwksOptions

As opções públicas observáveis incluem:

  • Algorithm: algoritmo principal usado para geração/assinatura. O padrão é Algorithm.ES256.
  • AlgorithmsToKeep: quantidade de versões/chaves mantidas.
  • CacheTime: tempo de cache do conjunto de chaves.

Algoritmos suportados

O pacote expõe algoritmos prontos por meio da classe Algorithm, incluindo combinações comuns como:

  • HS256, HS384, HS512
  • RS256, RS384, RS512
  • PS256, PS384, PS512
  • ES256, ES384, ES512

Escolha o algoritmo conforme o tipo de chave e o contrato esperado pelos consumidores do token.

Cache de token com SQL Server

Para usar cache distribuído baseado em SQL Server, o builder expõe CacheTokenSetup.

builder.Services
	.AddJwksManager()
	.CacheTokenSetup(
		connectionString: builder.Configuration.GetConnectionString("DefaultConnection"),
		schemaName: "cache",
		tableName: "Tokens");

Esse setup registra IJwtSetService e um IDistributedCache com chave nomeada SqlServerCache.

Estrutura esperada da tabela de cache

Quando usar a persistência em SQL Server, a tabela de tokens deve existir previamente no banco, no formato esperado pelo SqlServerCache.

Observações de uso

  • este pacote é mais adequado para a aplicação que emite tokens ou gerencia chaves
  • o store padrão é em memória; persistência mais robusta pode ser adicionada por pacote complementar
  • mudanças em algoritmo, retenção de chaves e tempo de cache podem afetar compatibilidade operacional com consumidores

Pacotes relacionados

  • Nuuvify.CommonPack.Security: setup base de autenticação e autorização
  • Nuuvify.CommonPack.Security.JwtStore.Ef: persistência de chaves e cache de tokens com Entity Framework

Validação recomendada ao alterar este pacote

  • algoritmo configurado corretamente
  • geração e recuperação de JWK/JWKS
  • retenção de chaves conforme AlgorithmsToKeep
  • cache distribuído funcionando com a tabela esperada
  • compatibilidade do conjunto de chaves com consumidores do token
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Nuuvify.CommonPack.Security.JwtCredentials:

Package Downloads
Nuuvify.CommonPack.Security.JwtStore.Ef

Armazena a chave privada para geração de token em banco de dados e fornece uma chave pública para que seja validado pelos clients. Essa biblioteca destina-se apenas à aplicação que fornece um token.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.5.0 0 6/6/2026
2.5.0-preview.26060610 0 6/6/2026
2.5.0-preview.26060310 46 6/3/2026
2.4.0 138 4/17/2026
2.4.0-preview.26060604 27 6/6/2026
2.4.0-preview.26060305 38 6/3/2026
2.4.0-preview.26041709 57 4/17/2026
2.3.0 207 4/14/2026
2.3.0-preview.26041705 64 4/17/2026
2.3.0-preview.26041302 74 4/13/2026
2.3.0-preview.26040903 64 4/9/2026
2.3.0-preview.26033108 65 4/1/2026
2.2.0 394 11/3/2025
2.2.0-preview.25110102 127 11/1/2025
2.2.0-preview.25103002 185 10/30/2025
2.2.0-preview.25102906 176 10/29/2025
2.1.0 275 10/21/2025
2.1.0-preview.25102003 177 10/20/2025
2.0.0 559 2/11/2025
Loading failed

# Changelog - Nuuvify.CommonPack.Security.JwtCredentials

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.