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. 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之44---QChat 技术...
  2. [转]C#导出到EXCEL
  3. 你真的明确知道它们的用法吗-从基础学起
  4. linux下如何修改weblogic console登陆的用户名和密码
  5. 3.2.2 请求分页管理方式
  6. 「新房+电商+大数据」如何塑造满意度达 99.8% 的万亿市场领路人?
  7. kibana操作elasticsearch:词条匹配(term)
  8. 设计模式之_Strategy_01
  9. 【转】牛人杰作 管饭哥登场
  10. Stm32:地址空间划分
  11. #333. 【NOIP2017】宝藏
  12. CCF NOI1050 矩阵乘法
  13. cesium:获取点击实体点的坐标位置
  14. 一个layer可以跟着画完的线移动ios程序 好玩啊。
  15. cisco路由器OSPF基础配置命令
  16. linux启动项加命令,启动项 命令(linux 添加开机启动项的三种方法)
  17. 拉普拉斯变换的定义-笔记
  18. 使用函数提取姓别和出生日期:
  19. 苹果操作系统 leopard 10.5 (PC破解完全中文安装版,IBM X40安装成功)
  20. 如何取SQL结果集的第一条记录

热门文章

  1. POJ 3271 BFS (大坑)
  2. 高盛附属公司获得Boyd Corporation大股东地位
  3. 大数据 电子书免费下载
  4. 喜欢听着歌写代码的福利(vscode插件)
  5. 事务,其实是一次交易,你听说过吗?
  6. 樱桃键盘Ubuntu(Linux系统)卡顿延迟解决方案
  7. (附源码)计算机毕业设计SSM智慧医疗系统
  8. SQL分类和命名规范
  9. 轴承上下料系统 欧姆龙NX1P2-1140DT,经典四轴定位控制
  10. java获取视频真实地址,Java版蓝奏云真实地址获取