MinimalApi.Extensions.Security 1.0.1

dotnet add package MinimalApi.Extensions.Security --version 1.0.1
                    
NuGet\Install-Package MinimalApi.Extensions.Security -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="MinimalApi.Extensions.Security" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MinimalApi.Extensions.Security" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="MinimalApi.Extensions.Security" />
                    
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 MinimalApi.Extensions.Security --version 1.0.1
                    
#r "nuget: MinimalApi.Extensions.Security, 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 MinimalApi.Extensions.Security@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=MinimalApi.Extensions.Security&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=MinimalApi.Extensions.Security&version=1.0.1
                    
Install as a Cake Tool

MinimalApi.Extensions.Security

基于 JwtBearer 生成 AccessTokenRefreshToken

安装

dotnet add package MinimalApi.Extensions.Security

配置

builder.Services.AddJwtBearer(new SecurityJwtBearerOptions()
{
    SecretKey = "1234567890qwertyuiopasdfghjklzxcvbnm",
    
    // 以下选填
    Issuer = "http://localhost:5000",
    Audience = "http://localhost:5000",
    AccessTokenExpirySeconds = 10 * 60,            // 默认3600
    RefreshTokenExpirySeconds = 7 * 24 * 60 * 60,  // 默认7200
    EnableAccessTokenInUrlQuery = true,            // 默认false              启用url中获取accesstoken
    AccessTokenUrlQueryKey = "access_token",       // 默认access_token       参数的key
    RefreshEndpointRole = "api_refresh_token"      // 默认api_refresh_token  refreshtoken claim role
});

// 从配置中读取
builder.Services.AddJwtBearer(builder.Configuration.GetSection("Jwt"));

使用

app.MapPost("login", ([FromServices] SecurityJwtTokenService jwtTokenService) =>
{
    return TypedResults.Ok(jwtTokenService.GenerateToken([
        new Claim("userid", "1")
    ]));
});

说明

  1. 支持 aot 编译
  2. 出于性能考虑,使用单例注入
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  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 is compatible.  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. 
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 MinimalApi.Extensions.Security:

Package Downloads
MinimalApi.Extensions

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 112 5/7/2026
1.0.0 105 5/6/2026
1.0.0-beta 430 4/20/2025