图片接口JWT鉴权实现

  • 图片接口JWT鉴权实现已关闭评论
  • 242 次浏览
  • A+
所属分类:.NET技术
摘要

之前做了个返回图片链接的接口,然后没做授权,然后今天键盘到了,也是用JWT来做接口的权限控制。
然后JTW网上已经有很多文章来说怎么用了,这里就不做多的解释了,如果不懂的可以参考下列链接的
文章。


图片接口JWT鉴权实现

前言

之前做了个返回图片链接的接口,然后没做授权,然后今天键盘到了,也是用JWT来做接口的权限控制。
然后JTW网上已经有很多文章来说怎么用了,这里就不做多的解释了,如果不懂的可以参考下列链接的
文章。

图片接口文章:还在愁个人博客没有图片放?

JTW参考:

画星星博客
身份认证入门

?我的新键盘?

图片接口JWT鉴权实现

接口展示

未授权访问接口

图片接口JWT鉴权实现

可以看到,如果请求的时候没有带上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>();

这样就完成了自定义返回接口未授权信息。

授权接口展示

图片接口JWT鉴权实现

可以看到,让我请求是带上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其实很简单,只需要一些配置即可使用,在前言部分我也是给出了参考链接,如果对于JWT不是很熟悉的可以去看看。