.Net Core 中的 JWT 验证
JWT Validation in .Net Core
几天来我一直在为这个问题苦苦挣扎...这里似乎有很多类似的问题,但我找不到一个涵盖这个确切场景的问题。
我有一个节点服务正在创建一个 jsonwebtoken NPM 包 (RS256)。任何其他节点服务都能够验证 UI 提供的令牌并读取声明 _ 也可以在 jwt.io.
上验证
但是我需要在解决方案中添加一个 .net 核心 api 但我不能简单地让它工作 - 我觉得我已经尝试了上百万种不同的设置组合 api 中间件,但显然我遗漏了一些东西,我找不到任何关于正确执行此操作的方法的文档 - 显然我也想阅读声明,但现在,在我拔掉头发之前,我只想验证令牌并点击控制器。
配置 JWT
承载身份验证(以及来自 Microsoft.AspNetCore.Authentication.JwtBearer
NuGet
包的 token validation options) on DI
using AddJwtBearer 扩展方法:
// The below code used to be in Startup.ConfigureServices method
// before the minimal API with all stuff in Program.cs file has been introduced
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateAudience = false,
ValidateIssuer = true,
... = ,
};
options.Authority = <settings-your-authority>;
options. ect..
});
...
// Use configured JWT auth (used to be in Startup.Configure method)
var app = builder.Build();
...
app.UseAuthentication();
...
app.Run();
并在此处查看如何
几天来我一直在为这个问题苦苦挣扎...这里似乎有很多类似的问题,但我找不到一个涵盖这个确切场景的问题。
我有一个节点服务正在创建一个 jsonwebtoken NPM 包 (RS256)。任何其他节点服务都能够验证 UI 提供的令牌并读取声明 _ 也可以在 jwt.io.
上验证但是我需要在解决方案中添加一个 .net 核心 api 但我不能简单地让它工作 - 我觉得我已经尝试了上百万种不同的设置组合 api 中间件,但显然我遗漏了一些东西,我找不到任何关于正确执行此操作的方法的文档 - 显然我也想阅读声明,但现在,在我拔掉头发之前,我只想验证令牌并点击控制器。
配置 JWT
承载身份验证(以及来自 Microsoft.AspNetCore.Authentication.JwtBearer
NuGet
包的 token validation options) on DI
using AddJwtBearer 扩展方法:
// The below code used to be in Startup.ConfigureServices method
// before the minimal API with all stuff in Program.cs file has been introduced
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateAudience = false,
ValidateIssuer = true,
... = ,
};
options.Authority = <settings-your-authority>;
options. ect..
});
...
// Use configured JWT auth (used to be in Startup.Configure method)
var app = builder.Build();
...
app.UseAuthentication();
...
app.Run();
并在此处查看如何