图片接口JWT鉴权实现
前言
之前做了个返回图片链接的接口,然后没做授权,然后今天键盘到了,也是用JWT来做接口的权限控制。 然后JTW网上已经有很多文章来说怎么用了,这里就不做多的解释了,如果不懂的可以参考下列链接的 文章。
图片接口文章:ZY知识库 · ZY - 还在愁博客没有图片放? (pljzy.top)
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不是很熟悉的可以去看看。