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

相关推荐
大不点wow12 小时前
Spring 中 @Bean、@Component 与 @Configuration 的作用及底层逻辑
java·spring
IvorySQL13 小时前
云环境下PostgreSQL的Cgroup内存管理实践
java·数据库·postgresql
不定积分要+C_yyy13 小时前
Java基础核心精讲:基本数据类型与包装类区别、自动装箱拆箱与缓存陷阱实战解析
java·开发语言
jvmind_dev13 小时前
第三章:GC 日志深度分析(上)——多版本、多收集器的统一解析
java·agent
xingxiliang13 小时前
ReliableAgent:类似工程级可用的agent示例
java·开发语言·agent
亦暖筑序13 小时前
AgentScope-Java 入门:保存评审状态并生成 Markdown 报告
java·人工智能·后端
buhuizhiyuci13 小时前
【python篇——一周速通python语法】python的基础语法操作
开发语言·python
invicinble13 小时前
关于微服务基本框架搭建--fegin最小使用demo
java·spring boot·微服务
梦想的旅途213 小时前
企业微信API 实现企业微信消息的自动发送?
java·服务器·前端
大不点wow13 小时前
为什么 Spring 更推荐构造器注入,而不是字段 `@Autowired`
java·spring·intellij-idea