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

相关推荐
老孟说禅1 分钟前
自动化测试入门(一)
开发语言·python
miofly8 分钟前
GitHub 今日推荐|Snapintosh:用 ARM EL2 监控器骗过内核,让骁龙芯片笔记本跑 macOS
python·开源·github
打工仔折腾 AI14 分钟前
Linux 网络编程:从零掌握 TCP Socket 编程与 C++ 实战落地
linux·网络·人工智能·后端·python·tcp/ip·性能优化
余额瞒着我当琳16 分钟前
C++11,发展历史浅谈,初始化列表和对象初始化,右值引用和移动语义
java·开发语言·c++·算法
曹牧22 分钟前
Java:`tools.jar`
java·开发语言·jar
IT枫斗者枫哥23 分钟前
Spring AI文档更新后仍命中旧内容:核对分片ID、来源和版本
java·人工智能
aibo86030831 分钟前
基于 Spring Boot + Vue3 的爱心众筹管理系统设计与实现
java·spring boot·后端
SimonKing32 分钟前
OpenCode免费模型直接给`Workbuddy`用,一键导入
java·后端·程序员
Tsuki_tl33 分钟前
【优选算法:双指针】——复写零题解
java·c++·算法·leetcode·数组·双指针·复写零