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

相关推荐
m0_71643007几秒前
mysql数据库表名区分大小写吗_通过lower case table names配置
jvm·数据库·python
凭君语未可5 分钟前
从静态代理走向动态代理:理解 JDK 动态代理的本质
java·开发语言
黑风风10 分钟前
在 Windows 上设置 MAVEN_HOME 环境变量(完整指南)
java·windows·maven
Rsun0455112 分钟前
15、Java 观察者模式从入门到实战
java·python·模板方法模式
珹洺14 分钟前
Java-Spring入门指南(二十三)俩万字超详细讲解利用IDEA手把手教你实现SSM(Spring + SpringMVC + MyBatis)整合,并构建第一个SSM基础系统
java·spring·intellij-idea
yaaakaaang15 分钟前
十九、观察者模式
java·观察者模式
2401_8359568116 分钟前
如何利用SQL子查询进行实时监控数据分析_性能优化
jvm·数据库·python
小碗羊肉16 分钟前
【从零开始学Java | 第三十八篇】序列化流(Object Stream)
java·开发语言
亚历克斯神16 分钟前
Java 23 虚拟线程进阶:深度探索与实战
java·spring·微服务
百锦再17 分钟前
使用JavaScript获取和解析页面内容的完整指南
开发语言·前端·javascript·python·flask·fastapi