System.IdentityModel.Tokens.Jwt库简单试用

最近准备把一些外部认证接口认证改成jwt的,在 jwt.io的网站上找了下,.net的库中排名第一的是微软自家的库System.IdentityModel.Tokens.Jwt,然而官方文档对如何使用它却语焉不详,今天试了一下如何用这个微软官方的JWT库。简单的写个文章总结下

这个库的核心对象是JwtSecurityTokenHandler,可以通过它实现JWT的生成,读取,校验等核心操作,下面就以几个简单的示例演示下:

生成 Token

生成token需要使用JwtSecurityTokenHandler.CreateToken函数,这里使用的key函数比较简单,直接读的ASCII码,传入的时候需要保持和密码算法要求位数一致,实际使用时可以进行响应的修改。

读取 Token

读取token需要使用JwtSecurityTokenHandler.ReadToken函数,基本示例如下,由于读取的是明文部分,故是不需要传输密码的。

校验 Token

读取token需要使用JwtSecurityTokenHandler. ValidateToken函数,可以传入多个校验参数,时间,密码等,时间也支持容差,算是功能比较全了。

最后,值得一提的是,这个库对key有最小长度要求的,但有一些库是可以使用短密码的,如果要兼容那些短密码,可对key后补0,补齐到相应长度即可。

参考文章:

Original: https://www.cnblogs.com/TianFang/p/16444368.html
Author: 天方
Title: System.IdentityModel.Tokens.Jwt库简单试用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/546737/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Python3中datetime不同时区转换介绍与踩坑

    最近的项目需要根据用户所属时区制定一些特定策略,学习、应用了若干python3的时区转换相关知识,这里整理一部分记录下来。 下面涉及的几个概念及知识点: GMT时间:Greenwi…

    技术杂谈 2023年6月21日
    072
  • Golang context

    Context Go 语言中提供了 context 包,通过显示传递 context, 实现请求级别的元数据、取消信号、终止信号的传递。context 包提供了从现有的上下文值(c…

    技术杂谈 2023年7月11日
    075
  • 008 Linux 文件查找 find

    在 Linux 系统,find 毫无疑问是最强的文件查找工具。find 一般会与其他命令结合,将查找到的结果作为参数传入到后置命令中,进行删除、统计、复制迁移等操作。 find /…

    技术杂谈 2023年7月10日
    071
  • qt中出现error:C2059:语法错误:“namespace”未定义等大量错误的问题

    昨天下载了一个github上的qt工程,拿回来一编译出现了N多错误,但是工程明明是正确的,没有什么特殊的配置设置,但是就是几乎所有的代码都在报错。可以看到关于类的操作都有问题 …..

    技术杂谈 2023年7月24日
    087
  • 期末考试代码

    import javax.swing.*; import java.awt.*; //import java.awt.event.InputEvent; //import java…

    技术杂谈 2023年6月21日
    085
  • srec_cat 常用参数的使用

    下面介绍映像文件工具 srec_cat 的使用,如何通过相关参数实现自己需要的功能。 文件类型 在输入文件和输出文件文件时要指明文件类型,常用的如: test.hex -intel…

    技术杂谈 2023年7月25日
    074
  • [Python]-tqdm模块-给for循环加上进度条

    import tqdm 使用tqdm模块,可以在漫长的for循环加上一个进度条,显示当前进度百分比。 将tqdm写在迭代器之外即可: tqdm(iterator) for i in…

    技术杂谈 2023年7月10日
    077
  • Centos 7 查看磁盘io ,找出占用io读写很高的进程

    原文: https://blog.csdn.net/ichen820/article/details/117741734 1,先用iostat查看磁盘io 是否读写负载很高 用io…

    技术杂谈 2023年5月31日
    0109
  • localstorage 过期时间

    很遗憾,localstorage原生是不支持设置过期时间的,想要设置的话,就只能自己来封装一层逻辑来实现: function set(key,value){ var curtime…

    技术杂谈 2023年5月31日
    088
  • k8s入门教程

    1. k8s概述 Kubernetes(简称K8S) 是Google开源的分布式的容器管理平台,方便我们在服务器集群中管理我们容器化应用。 教程主要介绍怎么使用阿里云容器服务(ku…

    技术杂谈 2023年5月31日
    096
  • 浅谈kali : arpspoof工具原理

    介绍 arpspoof是一个通过ARP协议伪造数据包实现中间人攻击的kali工具。 中间人攻击虽然古老,但仍处于受到黑客攻击的危险中,可能会严重导致危害服务器和用户。仍然有很多变种…

    技术杂谈 2023年7月25日
    082
  • 【转】iPhone is not available. Please reconnect the device

    原文网址:https://blog.csdn.net/baidu_40537062/article/details/107396905 我的手机是iOS13.5,Xcode是11….

    技术杂谈 2023年6月1日
    089
  • 强大的DOM变化观察者MutationObserver

    可以监听到属性、文本内容、节点插入删除、子节点变化等事件。可是该事件 W3C 已废弃,虽然一些浏览器仍然支持,但不建议使用。 MutationObserver目前IE11+及其它浏…

    技术杂谈 2023年6月1日
    086
  • MySQL 关于 only_full_group_by 限制

    先上结论 如果 only_full_group_by 被启用,那么在查询时,如果某个列不在group by 列表中,此时如果不对该列进行聚合处理,则该列不能出现在 select 列…

    技术杂谈 2023年7月11日
    074
  • 小巧快速的ZooKeeper可视化管理+实时监控工具

    Zookeeper: 是一个分布式的、开源的程序协调服务,是 hadoop 项目下的一个子项目。他提供的主要功 能包括:配置管理、名字服务、分布式锁、集群管理。 平时用zkCli….

    技术杂谈 2023年7月23日
    0139
  • 8086汇编 中断

    8086汇编 中断 中断:CPU不再接着(刚执行完的指令)向下执行,而是转去处理中断信息。 内中断:由CPU内部发生的事件而引起的中断 外中断:由外部设备发生的事件引起的中断 80…

    技术杂谈 2023年6月1日
    096
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球