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签名与验证

相关推荐
2301_8092047013 小时前
Golang如何做Clean Architecture_Golang整洁架构教程【详解】
jvm·数据库·python
m0_6245785913 小时前
PHP源码能否在无盘工作站运行_网络启动硬件要求【说明】
jvm·数据库·python
战南诚13 小时前
Flask中的URL ——url_for() 与 自定义动态路由过滤器
后端·python·flask
yexuhgu13 小时前
CSS Grid布局如何实现项目重叠效果_利用z-index与grid-area实现
jvm·数据库·python
折哥的程序人生 · 物流技术专研13 小时前
《Java面试85题图解版(三)》上篇:高阶架构设计篇
java·开发语言·后端·面试·职场和发展
源码之家13 小时前
计算机毕业设计:Python基于知识图谱的医疗问答系统 Neo4j 机器学习 BERT 深度学习 ECharts(建议收藏)✅
python·深度学习·机器学习·信息可视化·数据分析·知识图谱·课程设计
m0_5967490913 小时前
SQL统计分组内的所有数据唯一值_使用DISTINCT汇总
jvm·数据库·python
WL_Aurora13 小时前
备战蓝桥杯国赛【Day 11】
python·蓝桥杯
吴声子夜歌13 小时前
Java——ArrayDeque
java·arraydeque
m0_6091604913 小时前
Golang项目目录结构如何组织_Golang项目结构教程【核心】
jvm·数据库·python