惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
I
InfoQ
H
Help Net Security
GbyAI
GbyAI
博客园 - 叶小钗
Recent Announcements
Recent Announcements
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
Y
Y Combinator Blog
L
LangChain Blog
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss
博客园 - Franky
D
Docker
Jina AI
Jina AI
罗磊的独立博客

博客园 - yahle

Performance Improvements in .NET 9 [翻译 by chatglm] Performance Improvements in .NET 8 & 7 & 6 -- File I/O【翻译】 Performance Improvements in .NET 8 & 7 & 6 -- String【翻译】 Performance Improvements in .NET 8 & 7 & 6 -- Thread【翻译】 Performance Improvements in .NET 8 -- Exceptions & Reflection & Primitives【翻译】 Performance Improvements in .NET 8 -- Native AOT & VM & GC & Mono【翻译】 Performance Improvements in .NET 8 -- JIT部分翻译 mysql迁移到pqsql笔记 .net core 多线程下使用 Random 会出现bug 一个.net6开发的截图后ocr小工具 云服务器内容迁移 总结 立个铁矿石的flag,从7月初开始,铁矿石的库存,可能要进入累库存阶段了. 让你的 vs code 跑在云上,用手机浏览器就能写代码 - yahle ASP.NET Core 2 High Performance 目录和读书笔记 - yahle [转帖]无网络离线安装 vs2017 - yahle - 博客园 centos下 .net core 2.0 升级 到 2.1 遇到的一个小问题 GTX 750TI 使用 ffmpeg 时无法用 GPU HEVC(h.265) 进行加速 [翻译] 编写高性能 .NET 代码--第二章 GC -- 减少大对象堆的碎片,在某些情况下强制执行完整GC,按需压缩大对象堆,在GC前收到消息通知,使用弱引用缓存对象 [翻译] 编写高性能 .NET 代码--第二章 GC -- 将长生命周期对象和大对象池化
.net core jwt 入门记录
yahle · 2018-02-01 · via 博客园 - yahle

百度里搜索里搜索了很多jwt的文章,跟着文章写了一个demo,这里记录下学习过程中碰上的问题。看文章多遍,不如手工实现一次。

模板已上传到github.com:dogvane/webapi_jwt_template

让项目先飞起来

网上的都只是文章和代码片段,github里找的,要么跑不起来(需要配置的其它依赖,数据库等),要么代码结构巨复杂,不知从何改起。

对于demo来说,就只需要2个功能

1.生成jwt的token并返回给前端(AccountController.Login)

2.执行一个需要权限业务方法,并在里面获得用户id(AccountController.DoYourTask)

需要注意的地方:

生成token代码里,如果发行人信息和 startup.cs 里的不一致,是无法验证通过的,特别是当你的代码时分别从2个地方copy的时候(不要问我怎么知道的o(>﹏<)o)。

所以,一个解析jwt信息的网站很重要 在线解析jwt参数 http://jwt.calebb.net/

在做测试时,使用了 swagger 让swagger ui 的请求带头部信息 https://www.cnblogs.com/JacZhu/p/6188968.html

至于为什么要在 BaseController里解析出UserId,大家自己领悟吧。在这里一开始找了很多文章,没一篇是说如何从jwt里解析出数据的,因为脑子没转过来,所以呵呵了很久。

其实,换一个角度想一想就知道了,不需要找什么文章,token从Request里可以获取,jwt的的处理类已经加入系统,只需要翻查一下api就行。所以说,读博百篇,不如动手实现。

加几个关键词,方便有这样搜索需求的同学:.net core jwt Decode userid