ASP.NET Core 3.1 系列之 Web API 中间件篇 (一)

身份验证(Jwt)中间件使用步骤

添加 NuGet程序包

添加包:Microsoft.AspNetCore.Authentication.JwtBearer

修改 Startup.cs 文件

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options =>
{options.TokenValidationParameters = new TokenValidationParameters{RequireExpirationTime = true,ValidateIssuer = true,ValidateAudience = true,ValidateLifetime = true,ValidateIssuerSigningKey = true,ClockSkew = TimeSpan.Zero,ValidIssuer = "testIssuer",ValidAudience = "testAudience",IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("2342423fsklfjafjlkj234k23j2kj3jkljdf"))};
});
app.UseAuthentication();
app.UseAuthorization();

添加生成Token方法

public string GetToken()
{var claims = new[] { new Claim(ClaimTypes.Name, "testUser") };var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("2342423fsklfjafjlkj234k23j2kj3jkljdf"));var jwtToken = new JwtSecurityToken(claims: claims,issuer: "testIssuer",audience: "testAudience",expires: DateTime.Now.AddMinutes(5),signingCredentials: new SigningCredentials(key, SecurityAlgorithms.HmacSha256));return new JwtSecurityTokenHandler().WriteToken(jwtToken);
}

使用

请求头携带样例

Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoidGVzdFVzZXIiLCJleHAiOjE2NTQxNTY4NDcsImlzcyI6InRlc3Q2NjY2NjY2IiwiYXVkIjoidGVzdDIyMjIyMTExMSJ9.xV_ma0Q2qXg9kIzzpk7YhR_UTs5DfnvLuayBsGCGMac

更多中间件使用教程

【日志(Log4Net)使用教程 】

【后台定时任务(Hangfire)使用教程】

ASP.NET Core 3.1 系列之 Web API 添加身份验证Jwt相关推荐

  1. Asp.Net MVC及Web API添加身份验证及错误处理的过滤器

    先说身份验证的问题.无论是mvc还是api都有一个安全性的问题,未通过身份验证的人能不能访问的问题.我们新一个空项目时,默认是没有身份验证的,除非你在控制器类或者方法上面加上Authorize属性才会 ...

  2. 【视频教程】使用 ASP.NET Core 3.x 构建 RESTful Web API 已完结

    使用 ASP.NET Core 3.x 构建 RESTful Web API 的视频教程已经完结,共50讲,约10.5小时. B站可看,点击原文链接. 度娘盘可下载完整视频: https://pan. ...

  3. 使用Http-Repl工具测试ASP.NET Core 2.2中的Web Api项目

    今天,Visual Studio中没有内置工具来测试WEB API.使用浏览器,只能测试http GET请求.您需要使用Postman,SoapUI,Fiddler或Swagger等第三方工具来执行W ...

  4. 在ASP.NET Core 2.0中创建Web API

    目录 介绍 先决条件 软件 技能 使用代码 第01步 - 创建项目 第02步 - 安装Nuget包 步骤03 - 添加模型 步骤04 - 添加控制器 步骤05 - 设置依赖注入 步骤06 - 运行We ...

  5. 在ASP.NET Core MVC中构建简单 Web Api

    Getting Started 在 ASP.NET Core MVC 框架中,ASP.NET 团队为我们提供了一整套的用于构建一个 Web 中的各种部分所需的套件,那么有些时候我们只需要做一个简单的 ...

  6. 使用静态基类方案让 ASP.NET Core 实现遵循 HATEOAS Restful Web API

    Hypermedia As The Engine Of Application State (HATEOAS) HATEOAS(Hypermedia as the engine of applicat ...

  7. 用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API

    原文:Building Your First Web API with ASP.NET Core MVC and Visual Studio 作者:Mike Wasson 和 Rick Anderso ...

  8. 在ASP.NET Core 2.2 中创建 Web API并结合Swagger

    一.创建 ASP.NET Core WebApi项目 二.添加 三. ----------------------------------------------------------- 一.创建项 ...

  9. 如何基于asp.net core的Identity框架在mysql上作身份验证处理

    首先了解这个概念,我一开始也是理解和掌握基本的概念,再去做程序的开发.Identity框架是微软自己提供,基于.net core平台,可拓展.轻量 级.面向多个数据库的身份验证框架.IdentityS ...

最新文章

  1. Java绘图之AWT中的继承关系图
  2. 脑电分析系列[MNE-Python-2]| MNE中数据结构Epoch及其创建方法
  3. 如何通过ip地址查找PC接在交换机的某个端口
  4. silverlight, 双击事件
  5. 异步/同步、阻塞/非阻塞的理解
  6. PE文件结构 - NT头学习
  7. C++反转字符串的算法(附完整源码)
  8. [转]详细讲解提高数据库查询效率的实用方法、外键关于性能
  9. Python实例讲解 -- 定时播放 (闹钟+音乐)
  10. html下拉表覆盖透明,css透明元素如何遮挡住fixed元素
  11. 计算机网络医院拓扑图方案设计,【方案】某医院计算机网络综合布线系统设计...
  12. 软件测试——bug相关知识
  13. 画 ArcFace 中的 margin 曲线
  14. Blend 混合模式
  15. 错误代码1500什么意思_ADSL的一些错误代码是什么意思?
  16. [Unity][插件]游戏中显示FPS帧数
  17. 无需安装Microsoft Office和Adobe实现办公文档操作,Spire.Office免费资源清单一览
  18. I am a boy!
  19. ccs工程文件类型和作用
  20. 硬件加密算法HITAG2流程分析

热门文章

  1. java中生成yyyyMMdd001此类流水单号
  2. 数据压缩实验五 MPEG音频编码
  3. 《Adobe InDesign CS5中文版经典教程》—第1课复习
  4. 上海迪士尼度假区和斯凯奇达成数年战略联盟
  5. linux下c 上传图片到mysql_linux c做服务端使用多线程接收图片并且将图片写入数据库...
  6. 使用RESS改善响应式Web设计
  7. 《C++入门经典(第6版)》——2.7 作业
  8. (13)什么是RPA的POC?
  9. 华南理工大学计算机应用技术如何,余志文(华南理工大学计算机学院教授、博导)_百度百科...
  10. recovery模式学习总结