猿问

忽略JWT Bearer令牌签名(即不验证令牌)

我有一个位于API网关后面的API。在将请求传递到API之前,API网关会验证承载令牌。

我的API使用asp.net core 2.0本机身份验证和基于声明的授权框架。从JWT令牌获取声明的艰巨工作是由中间件进行的Microsoft.AspNetCore.Authentication.JwtBearer

可以将该中间件配置为忽略令牌上的到期日期,并且还可以指定本地公共密钥,这样就不必联系令牌颁发机构来获取它,而是可以仅禁用令牌验证。令牌?

这将允许将未签名的令牌用于开发中的临时测试,并防止生产中的双重验证(网关和API)。


青春有我
浏览 391回答 3
3回答

UYOU

我能够清理一下代码,表明我们可以更改标志,并且在设置标志时具有更多的一致性。services.AddAuthentication(o =>{    o.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;    o.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;})    .AddJwtBearer(o =>    {        o.RequireHttpsMetadata = false;        o.SaveToken = true;        o.TokenValidationParameters = new TokenValidationParameters        {            ValidateIssuer = false,            ValidateAudience = false,            ValidateIssuerSigningKey = false,            ValidateLifetime = false,            RequireExpirationTime = false,            RequireSignedTokens = false        };    });
随时随地看视频慕课网APP
我要回答