Asp.Net Core鉴权授权:在Swagger中的Token验证
Swagger中默认没有提供设置自定义HTTP请求报文头的方式,因此对于需要传递Authorization报文头的接口,调试起来很麻烦。我们可以通过对OpenAPI进行配置,从而让Swagger中可以发送Authorization报文头。
我们需要修改Program.cs的AddSwaggerGen方法调用。
builder.Services.AddSwaggerGen(c => { var scheme = new OpenApiSecurityScheme() { Description = "Authorization header. \r\nExample: 'Bearer 12345abcdef'", Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Authorization" }, Scheme = "oauth2", Name = "Authorization", In = ParameterLocation.Header, Type = SecuritySchemeType.ApiKey, }; c.AddSecurityDefinition("Authorization", scheme); var requirement = new OpenApiSecurityRequirement(); requirement[scheme] = new List<string>(); c.AddSecurityRequirement(requirement); });
添加完以上代码后,重启并运行项目,会发现在Swagger界面的右上角增加了一个【Authorize】按钮。点击按钮后,弹出对话框的文本框,我们输入“Bearer JWT”,然后单击【Authorize】按钮,这样在这个界面之后的请求中,浏览器都会自动在请求报文头中加入Authorization报文头。当然,如果界面关闭或重启了,我们就必须重新输入Authorization报文头的值。
设置完授权对话框后,再在Swagger界面中发起对需要授权接口的请求,就可以看到服务器端的身份验证成功了。
本文学习参考自:ASP.NET Core技术内幕与项目实战
本文来自博客园,作者:一纸年华,转载请注明原文链接:https://www.cnblogs.com/nullcodeworld/p/16734334.html
分类:
ASP.NET Core
, C#.Net
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2021-09-27 Vue 数组的变异方法和替换数组
2021-09-27 Vue 过滤器