当前位置: 首页 > news >正文

JWT GenTokenParseToken

JWT(Json Web Token)

获取Token、解密Token

jwt.go

package jwtimport ("errors""time""github.com/golang-jwt/jwt/v5"
)var jwtSecret = []byte("secret")type CustomClaims struct {Username string `json:"username"`jwt.RegisteredClaims
}func GenToken(username string) (string, error) {claims := CustomClaims{Username: username,RegisteredClaims: jwt.RegisteredClaims{ExpiresAt: jwt.NewNumericDate(time.Now().Add(2 * time.Hour)), // 过期时间IssuedAt:  jwt.NewNumericDate(time.Now()),                    // 签发时间NotBefore: jwt.NewNumericDate(time.Now()),                    // 生效时间Issuer:    "bluebell-app",                                    // 签发人Subject:   "user-token",                                      // token主题},}token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)return token.SignedString(jwtSecret)
}func ParseToken(tokenString string) (*CustomClaims, error) {token, err := jwt.ParseWithClaims(tokenString, &CustomClaims{}, func(token *jwt.Token) (interface{}, error) {if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {return nil, errors.New("unexpected signing method")}return jwtSecret, nil})if err != nil {return nil, err}if claims, ok := token.Claims.(*CustomClaims); ok && token.Valid {return claims, nil}return nil, errors.New("invalid token")
}
http://www.dtcms.com/a/165614.html

相关文章:

  • MATLAB小试牛刀系列(3)
  • 【RAG 框架部署】LangChain-Chatchat (原 Langchain-ChatGLM) + Ollama
  • Verilog仿真模块--真随机数生成器
  • 小程序中的页面跳转
  • 【C++】数据结构 九种排序算法的实现
  • 目标检测YOLO实战应用案例100讲-基于多级特征融合的小目标深度检测网络
  • Kafka-可视化工具-Offset Explorer
  • C# 实现列式存储数据
  • 如何正确使用日程表
  • Docker搜索镜像报错
  • 字符串模式匹配之KMP算法的理解和应用
  • ​​智能制造中的预测性维护:基于深度学习的设备故障预测​​
  • day006-实战练习题-参考答案
  • spring中的@Configuration注解详解
  • 操作系统学习
  • 小米MiMo推理大模型开源:7B参数规模超越更大规模模型
  • 电子制造业智能化转型:APS高级排程软件如何破局效率革命
  • x-cmd install | Tewi - 终端里的 Transmission 掌控者,功能全面的 BT 下载管理工具!
  • VSCode Auto Rename Tag插件不生效
  • 一套SaaS ERP管理系统源码,支持项目二开商用,SpringBoot+Vue+ElementUI+UniAPP
  • MicroPython for esp32s3开发HX711称重模块指南
  • 管家婆易指开单如何设置零售开单
  • Git从入门到精通-第二章-工具配置
  • 在TensorFlow中,`Dense`和`Activation`是深度学习模型构建里常用的层
  • Socket-UDP
  • [Unity]设置自动打包脚本
  • [Survey] Image Segmentation in Foundation Model Era: A Survey
  • VBA代码解决方案第二十四讲:EXCEL中,如何删除重复数据行
  • 2025深圳杯东三省数学建模竞赛选题建议+初步分析
  • hadoop伪分布式模式