基于网关的验证包Ocelot.JwtAuthorize该怎么理解,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
Ocelot作为基于.net core的API网关,有一个功能是统一验证,它的作用是把没有访问权限的请求挡在API网关外面,而不是到达API网关事端的API时才去验证;下面我作了整理,封装成一个Nuget包,供大家方便调用。
Web API的验证一般是用UserName和Password请求到Token,然后每次请求需要权限的API接口是把Token带到请求的Header中,作为凭据,API服端接收到请求后就要对客户端带的Token作验证,查看Token是否正确,是否过期,如果没有问题,再对该用户作权鉴,该用户是否有权限访问本API接口;这样看来,登录获取Tokent算一块,成功登录后,每次带Token请求又分两块:一块是验证,一块是鉴权,所以在Ocelot.JwtAuthorize中一共分三块。
项目的源码位于https://github.com/axzxs2001/Ocelot.JWTAuthorize
Nuget是https://www.nuget.org/packages/Ocelot.JwtAuthorize
使用也非常简单,首先有统一的配置文件(网关项目中,API项目中,验证项目中)
1、网关项目中在Startup的ConfigureService方法中注入services.AddOcelotJwtAuthorize()即可。
2、验证项目中在Startup的ConfigureService方法中注入services.AddTokenJwtAuthorize(),同时验证项目还有一个作用是分发Token,前提是用户有正确的用户名密码,所以要做一个登录的Colloer和Action来实现,注意登录时Claim中的信息是在API项目中验证权限的信息。
3、API项目中在Startup的ConfigureService方法中注入
看完上述内容,你们掌握基于网关的验证包Ocelot.JwtAuthorize该怎么理解的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。