jwt-go解释Java kisso生成的jwt token

概述

因为公司业务需要做第三方单点登录,上级系统使用Java kisso库生成jwt token,但是因为公司的分系统使用的go语言,所以在解释jwt token方面不那么直接,经过测试后,博文记录,用于备忘

代码

go 复制代码
package main

import (
    "fmt"
    "github.com/dgrijalva/jwt-go"
)

func main() {
   // 定义一个共享秘钥,这个秘钥是从kisso jar提取出来的默认KEY
   key := []byte("3QD2j1B1s6Uj1jx6q8")

   tokenString := ....
   
   // 验证JWT令牌的有效性
   parsedToken, err := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) {
      return key, nil
   })

   if claims, ok := parsedToken.Claims.(jwt.MapClaims); ok && parsedToken.Valid {
       fmt.Println(claims["sub"], claims["name"], claims["iat"])
   } else {
       fmt.Println(err)
   }
}

主要就是加密KEY,如果没有约定就用默认的,有约定就用约定的

参考链接

golang工程组件篇 轻量级认证机制jwt之HS、RS. ES、ED签名与验证

相关推荐
ComPDFKit1 小时前
用 ComPDF DocSlight 提取 PDF 表格:三种样本实测与 Python 接入
开发语言·python·pdf·pdf表格提取
Wang's Blog1 小时前
Java 中间件之 RabbitMQ 快速入门: MQ 常见技术选型对比
java·中间件·java-rabbitmq
蜗牛互联网1 小时前
Java Agent 工具调用的 allowlist、参数校验与调用预算
java·开发语言·人工智能·后端·oracle
大文说跨境1 小时前
多账号环境隔离方案技术选型:指纹浏览器、VPS 与云手机的三种架构对比
java·开发语言·前端
92year1 小时前
我用运筹学穷举了麦当劳全菜单:30 块预算,怎么吃到全局最优?
python·agent·mcp
用户7624117567051 小时前
第三章 流程控制语句
python
骉马代驾1 小时前
代驾系统长连接实战(二):心跳、断线重连与消息补偿的完整实现
java
ttwuai1 小时前
Go后台管理系统开源项目有哪些?如何按交付形态筛掉不合适的仓库
开发语言·golang·开源
程序员Sunday1 小时前
Spring @Transactional 没回滚?按代理调用、异常和传播行为排查
java·后端·spring
东莞市云毅网络有限公司1 小时前
结构化标注缺失怎么查:JSON-LD抽取与每日巡检脚本实现
python·sqlite·自动化运维·geo·数据监测