nuget添加包:Microsoft.AspNetCore.Authentication.JwtBearer
Startup.cs

ConfigureServicesservices.Configure<TokenManagement>(Configuration.GetSection("tokenManagement"));var token = Configuration.GetSection("tokenManagement").Get<TokenManagement>();services.AddAuthentication(x =>{x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;}).AddJwtBearer(x =>{x.RequireHttpsMetadata = false;x.SaveToken = true;x.TokenValidationParameters = new TokenValidationParameters{ValidateIssuerSigningKey = true,IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(token.Secret)),ValidIssuer = token.Issuer,ValidAudience = token.Audience,ValidateIssuer = false,ValidateAudience = false};});
Configureapp.UseStaticFiles();app.UseAuthentication();    //添加的权限  上下都放在这是为了确定语句的位置app.UseRouting();app.UseAuthorization();

appsettings.json

   "tokenManagement": {"secret": "123456123456123456","issuer": "webapi.cn","audience": "WebApi","accessExpiration": 30,"refreshExpiration": 60}

Model

  public class TokenManagement{[JsonProperty("secret")]public string Secret { get; set; }[JsonProperty("issuer")]public string Issuer { get; set; }[JsonProperty("audience")]public string Audience { get; set; }[JsonProperty("accessExpiration")]public int AccessExpiration { get; set; }[JsonProperty("refreshExpiration")]public int RefreshExpiration { get; set; }}

获取token

   string token = string.Empty;var claims = new[]{new Claim(ClaimTypes.Name,userName),new Claim("haha","sb")   //随意添加};var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_tokenManagement.Secret));var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);var jwtToken = new JwtSecurityToken(_tokenManagement.Issuer, _tokenManagement.Audience, claims, expires: DateTime.Now.AddMinutes(_tokenManagement.AccessExpiration), signingCredentials: credentials);token = new JwtSecurityTokenHandler().WriteToken(jwtToken);

得到token中字段

 User.FindFirst("haha").Value;User.Identity.Name;

前端ajax

  beforeSend: function (xhr) {if (token !== null) {xhr.setRequestHeader('Authorization', 'Bearer ' + token);}},

只能这样的header头格式 才能直接使用User对象来获取信息

.NET CORE JWT相关推荐

  1. .NET Core + JWT令牌认证 + Vue.js 通用动态权限(RBAC)管理系统框架[DncZeus]开源啦!!!...

    DncZeus 前言 关于 DncZeus DncZeus = Dnc + Zeus "Dnc"--.Net Core 的缩写: "Zeus"--中文译为宙斯, ...

  2. 开源干货!.NET Core + JWT令牌认证 + Vue.js通用动态权限(RBAC)管理系统框架[DncZeus]开源

    DncZeus 前言 关于 DncZeus DncZeus = Dnc + Zeus "Dnc"–.Net Core 的缩写: "Zeus"–中文译为宙斯,是古 ...

  3. 三分钟学会.NET Core Jwt 策略授权认证

    一.前言 大家好我又回来了,前几天讲过一个关于Jwt的身份验证最简单的案例,但是功能还是不够强大,不适用于真正的项目,是的,在真正面对复杂而又苛刻的客户中,我们会不知所措,就现在需要将认证授权这一块也 ...

  4. .net Core Jwt登录验证刷新Token

    使用 jwt做登录验证的时候,token的过期时间的固定的, 也就是只要经过了一定的时间肯定会过期.有可能用户用着系统就突然提示登录失效了.这里通过在行为结果过滤器Result Filter中刷新To ...

  5. 5.3Role和Claims授权「深入浅出ASP.NET Core系列」

    5.3Role和Claims授权「深入浅出ASP.NET Core系列」 原文:5.3Role和Claims授权「深入浅出ASP.NET Core系列」 希望给你3-5分钟的碎片化学习,可能是坐地铁. ...

  6. 开源干货!.NET Core + Vue.js通用动态权限(RBAC)管理系统框架[DncZeus]开源

    DncZeus 前言 关于 DncZeus DncZeus = Dnc + Zeus "Dnc"--.Net Core 的缩写: "Zeus"--中文译为宙斯, ...

  7. python通用权限管理框架图_开源干货!.NET Core + Vue.js通用动态权限(RBAC)管理系统框架[DncZeus]开源...

    DncZeus 前言 关于 DncZeus DncZeus = Dnc + Zeus "Dnc"--.Net Core 的缩写: "Zeus"--中文译为宙斯, ...

  8. Spring Boot Vue Admin 前后端完全分离的权限控制模版

    Spring Boot Vue Admin 简介 提供一套前后端分离的后台权限管理模版,按钮级别的权限控制. 前端 Vue 模板来自 vue-element-admin,其他功能可以根据该项目再进行拓 ...

  9. golang物联网_使用golang谷歌云平台和grafana监控物联网设备

    golang物联网 In this article, we'll be setting up step by step, a monitoring environment for IoT device ...

最新文章

  1. 宝塔控制面板创建ftp后链接不上的解决方法
  2. 推荐算法-聚类-K-MEANS
  3. Java记录-SpringMVC整合Echarts画地图加散点图
  4. Linux 卸载分区(会格式化分区数据)
  5. 腾讯广告 3000+万行大代码库主干开发实战
  6. nginx php空白页 fastcgi_param
  7. 解决:未能将管道连接到虚拟机: 所有的管道范例都在使用中。
  8. 并发-分布式锁质量保障总结
  9. Oracle用户管理(User|Privileges|Role)
  10. Codeforces Round #555 (Div. 3) E. Minimum Array
  11. java 中阶乘如何表示_Java阶乘实例
  12. 兄弟HL4150cdn恢复出厂设置_兄弟打印机恢复出厂设置
  13. (5)树莓派+1个USB有线网卡+1个USB无线网卡做路由器
  14. 共识,权威以及去中心化的区块链
  15. 产品生产的各个阶段:DV,EV,PV ········是什么意思
  16. 参考分享《Python深度学习》高清中文版pdf+高清英文版pdf+源代码
  17. 暖通工程师有几个级别,以及注册暖通工程师挂靠价格
  18. 百度指数爬虫城市对应代码
  19. [收藏]三国时代的十大遗言
  20. android电子标签,RFID超高频(UHF)智能柜安卓(ANDRIOD)控制器UKA02

热门文章

  1. JavaScript(三十九)——鼠标滚轮、滚动窗口制作
  2. ubuntu20.04 vscode使用ROS(C++)
  3. 第十一周周末总结+反思
  4. Revit模型如何在WPF三维展示
  5. windows自带便笺使用
  6. deskvideosys终端安全管理软件主要功能介绍
  7. 经典Linux面试题
  8. linux系统ssd对齐,Debian SSD ext4 4K 对齐
  9. VLF物理光学实验教程
  10. ZYNQ-XDC语法