最近准备把一些外部认证接口认证改成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/
转载文章受原作者版权保护。转载请注明原作者出处!