我应该能够使用以下内容。services.AddAuthentication()
.AddIdentityServerJwt();这不起作用,因为AddIdentityServerJwt似乎不存在。另外,我不确定此时此刻我是否想与 IdentityServer 携手并进。在以前的版本中,我会声明一个默认方案并在 Startup.cs 文件中配置令牌验证。然而现在,似乎所有的奶酪都被转移到了 Core 3 中。我应该如何使用 JWT 配置(尽可能简单的)安全性并(最好)避免 Identity Server?public void ConfigureServices(IServiceCollection services){ ... services.AddAuthentication();}public void Configure(IApplicationBuilder app, IWebHostEnvironment env){ ... //app.UseRouting(); app.UseAuthentication(); //app.UseAuthorization(); //app.UseEndpoints(e => e.MapControllers());}这会在 Swagger 中产生以下错误的不同变体。未指定authenticationScheme,并且未找到DefaultChallengeScheme。
1 回答
人到中年有点甜
TA贡献1895条经验 获得超7个赞
缺少的部分是,在调用 后AddAuthentication
,您还需要显式“选择”加入 JWT 承载:
public void ConfigureServices(IServiceCollection services){ ... services .AddAuthentication() .AddJwtBearer(); }
目前,该操作需要手动安装扩展方法,如[此处](Install-Package Microsoft.AspNetCore.Authentication.JwtBearer -Version 3.0.0-preview6.19307.2)。
安装包 Microsoft.AspNetCore.Authentication.JwtBearer -版本 3.0.0-preview6.19307.2
Core 3.0 涵盖该方法的文档目前重定向到 Core 2.2 的对应文档,并且由于预览状态,可能会随时更新或删除。
- 1 回答
- 0 关注
- 131 浏览
添加回答
举报
0/150
提交
取消