设为首页 加入收藏

TOP

我的第一个netcore2.2 api项目搭建(三)续(二)
2019-09-17 18:23:50 】 浏览:56
Tags:一个 netcore2.2 api 项目 搭建
troller]
public class AccountController : ControllerBase { [HttpGet] public ActionResult<string> Login(long Uid, string UName, string Sub) { if (string.IsNullOrWhiteSpace(Uid.ToString()) || string.IsNullOrWhiteSpace(UName)) throw new Exception("填写正确用户"); var tokenString = JwtHelper.CreateJwtToken(Uid.ToString(), UName, Sub); return tokenString; } }

这里我们得到jwt字符串,将这个字符串添加到header中,再用postman调用get试试:

Headers添加 Authorization ,值:Bearer +jwt串,在Bearer后有个空格记住。

ok了,是不是很简单,到这里jwt简单的认证授权其实已经加完了,后面可以根据各种权限去维护就好了。。。

至此,第三个目标完成!

 既然添加了认证授权,那么第二章swagger部分就得也加入该功能了,这个很简单,只要在swagger里做配置就ok了。

//添加header身份验证信息
                var security = new Dictionary<string, IEnumerable<string>> { { "Bearer", new string[] { } }, };
                options.AddSecurityRequirement(security);
                options.AddSecurityDefinition("Bearer", new ApiKeyScheme
                {
                    Description = "JWT授权(数据将在请求头中进行传输) 参数结构: \"Authorization: Bearer {token}\"",
                    Name = "Authorization",//jwt默认的参数名称
                    In = "header",
                    Type = "apiKey"
                });

F5运行,可以看见加了锁

点击Authorize,然后配置下:

再来调用get:

调用成功,可以看到header发送了刚刚添加的jwt串。

至此,整个netcore api项目简单搭建已经完成!

不过,按这种验证写法,突然想到,如果前端被劫持了jwt串,然后其他应用在此jwt串有效期内利用该jwt串调用api,不是也能调通吗??如果这样,不是很危险吗,竟然被别人给瞎调用了,这里留下了深深的思考,不知道大家都是怎么做的。。知情者可否留下解决方式,膜拜!!!

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇新增筛选方案 下一篇.NET Core 常用第三方包

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目