- A+
所属分类:.NET技术
图片接口JWT鉴权实现
前言
之前做了个返回图片链接的接口,然后没做授权,然后今天键盘到了,也是用JWT来做接口的权限控制。
然后JTW网上已经有很多文章来说怎么用了,这里就不做多的解释了,如果不懂的可以参考下列链接的
文章。
图片接口文章:还在愁个人博客没有图片放?
JTW参考:
?我的新键盘?
接口展示
未授权访问接口
可以看到,如果请求的时候没有带上Authorization : Bearer <token>
就会报401错误,当然错误信息是通过中间件修改的,下列简单的几行代码就能自己去修改错误信息:
中间件
public class UnauthorizedMiddleware { private readonly RequestDelegate _next; public UnauthorizedMiddleware(RequestDelegate next) { _next = next; } public async Task InvokeAsync(HttpContext context) { // 调用下一个中间件 await _next(context); // 检查请求是否未授权 if (context.Response.StatusCode == 401) { // 返回未授权错误信息 context.Response.ContentType = "application/json"; context.Response.StatusCode = 401; await context.Response.WriteAsync("{"error":"抱歉!你没有该接口的请求权限,请联系管理员!"}"); } } }
注册中间件
app.UseMiddleware<UnauthorizedMiddleware>();
这样就完成了自定义返回接口未授权信息。
授权接口展示
可以看到,让我请求是带上Authorization : Bearer <token>
就可以正常访问接口,并返回正常信息了。
获取图片接口地址:
都是GET请求,注意是http不是https
返回原图
http://zy.pljzt.top/Api/Image/GetImageOd
返回给定尺寸图
http://zy.pljzt.top/Api/Image/GetImage?width=500&height=500
获取token请联系本文作者
关注公众号,回复获取Token即可,ToKen免费获取且有效期为30天,到期后可继续获取。
结尾
JWT这个概念已经很多人都知道了,我也就不重复造轮子了,实现JWT其实很简单,只需要一些配置即可使用,在前言部分我也是给出了参考链接,如果对于JWT不是很熟悉的可以去看看。