TokenForte 1.0.1
dotnet add package TokenForte --version 1.0.1
NuGet\Install-Package TokenForte -Version 1.0.1
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="TokenForte" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TokenForte" Version="1.0.1" />
<PackageReference Include="TokenForte" />
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 TokenForte --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: TokenForte, 1.0.1"
#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 TokenForte@1.0.1
#: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=TokenForte&version=1.0.1
#tool nuget:?package=TokenForte&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
TokenForte Documentation
Installation
dotnet add package TokenForte
Quick Setup
// Program.cs or Startup.cs
services.AddTokenForte();
Basic Usage
public class AuthController : ControllerBase
{
private readonly ValidationService _validator;
public AuthController(ValidationService validator)
{
_validator = validator;
}
[HttpPost("validate")]
public async Task<IActionResult> ValidateToken([FromBody] string token)
{
var options = new TokenForteValidationOptions
{
Algorithm = TokenForteAlgorithm.HS256,
SigningKey = "your-secret-key",
ValidIssuer = "your-issuer",
ValidAudience = "your-audience",
ValidateLifetime = true
};
var result = await _validator.ValidateAsync(token, options);
return result.IsValid ? Ok(result.Claims) : BadRequest(result.ErrorMessage);
}
}
Algorithms
HMAC (Symmetric)
var options = new TokenForteValidationOptions
{
Algorithm = TokenForteAlgorithm.HS256, // HS384, HS512
SigningKey = "your-secret-key"
};
RSA (Asymmetric)
var options = new TokenForteValidationOptions
{
Algorithm = TokenForteAlgorithm.RS256, // RS384, RS512
SigningKey = rsaPublicKey // PEM or Base64
};
RSA-PSS
var options = new TokenForteValidationOptions
{
Algorithm = TokenForteAlgorithm.PS256, // PS384, PS512
SigningKey = rsaPublicKey
};
ECDSA
var options = new TokenForteValidationOptions
{
Algorithm = TokenForteAlgorithm.ES256, // ES384, ES512
SigningKey = ecdsaPublicKey
};
Key Formats
PEM Format
var pemKey = @"-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
-----END PUBLIC KEY-----";
Base64 Format
var base64Key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...";
Response Format
public class TokenForteValidationResult
{
public bool IsValid { get; set; }
public string ErrorMessage { get; set; }
public IDictionary<string, string> Claims { get; set; }
}
Valid Token
{
"IsValid": true,
"ErrorMessage": null,
"Claims": {
"sub": "user123",
"iss": "your-issuer",
"aud": "your-audience",
"exp": "1234567890"
}
}
Invalid Token
{
"IsValid": false,
"ErrorMessage": "Token has expired",
"Claims": null
}
Advanced Usage
Custom Validation
var options = new TokenForteValidationOptions
{
Algorithm = TokenForteAlgorithm.RS256,
SigningKey = publicKey,
ValidIssuer = "https://your-auth-server.com",
ValidAudience = "your-api",
ValidateLifetime = true
};
Multiple Algorithms
public async Task<IActionResult> ValidateAnyAlgorithm(string token, TokenForteAlgorithm algorithm)
{
var options = new TokenForteValidationOptions
{
Algorithm = algorithm,
SigningKey = GetKeyForAlgorithm(algorithm)
};
var result = await _validator.ValidateAsync(token, options);
return result.IsValid ? Ok(result.Claims) : BadRequest(result.ErrorMessage);
}
Error Handling
Common error messages:
"Token cannot be null or empty""Signing key cannot be null or empty""Token has expired""Invalid signature""Invalid issuer""Invalid audience"
NuGet Package
Package Name: TokenForte
Version: 1.0.0
License: MIT
Repository: https://github.com/brixatek/TokenForte
Features
- ✅ Multiple JWT algorithms (HMAC, RSA, RSA-PSS, ECDSA)
- ✅ Multiple key formats (PEM, Base64)
- ✅ Dependency injection support
- ✅ Async/await pattern
- ✅ Comprehensive error handling
- ✅ .NET Standard 2.1 compatible
| Product | Versions 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.
-
.NETStandard 2.1
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- System.IdentityModel.Tokens.Jwt (>= 8.15.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1 | 534 | 11/20/2025 |