当前位置: 首页 > 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.xdnf.cn/news/236539.html

相关文章:

  • AnimateCC教学:形状补间动画的代码实现
  • 零改造实现MySQL加密:安当TDE透明加密与KSP密钥管理系统的创新实践
  • Kaggle比赛入门攻略(以 Titanic 为例)
  • 玩转MCP
  • C# dataGridView分页
  • JMeter WebSocket 压测详细步骤(支持 ws+proto 协议)
  • flutter 专题 五十六 Google 2020开发者大会Flutter专题
  • 驱动车辆诊断测试创新 | 支持诊断测试的模拟器及数据文件转换生成
  • 斯坦福RGA软件 老版本和兼容Windows 11版本可选
  • 在 OpenSearch 中建立有效的混合搜索: 技术和最佳实践
  • PCB设计工艺规范(四)安规要求
  • 变量char2、*char2、pChar3、*pChar3的存储位置
  • 冰冰一号教程网--介绍采用vuepress搭建个人博客
  • CrowdStrike推出新型工具防御恶意AI模型与数据窃取
  • 「Mac畅玩AIGC与多模态10」开发篇06 - 使用自定义翻译插件开发智能体应用
  • ai改写智能助手在线润色,高效产出优质文章!
  • Qt -DFS可视化
  • 乐西高速大凉山1号隧道实现双幅贯通:成都到昭觉9小时变3.5小时
  • 代码随想录打卡|Day31动态规划(最后一块石头的重量2、目标和、一和零)
  • 分割链表题解
  • 2025年“深圳杯”数学建模挑战赛A题-芯片热弹性物理参数估计
  • 记一次 MyBatis 缓存引发的问题
  • 高级测试工程师 的面试题汇总
  • 实验-单总线温度采集与显示(汇编语言与接口技术)
  • 视觉问答大模型速递:Skywork-R1V2-38B
  • 【人工智能】深入探索Python中的自然语言理解:实现实体识别系统
  • 第二部分:赤色的世界
  • 提高设计的综合性能
  • ESP32开发之freeRTOS的信号量
  • 免费在Colab运行Qwen3-0.6B——轻量高性能实战