安装
| go get github.com/dgrijalva/jwt-go/v4 |
github地址:https://github.com/dgrijalva/jwt-go
文档地址:https://pkg.go.dev/github.com/dgrijalva/jwt-go
来个例子
| type myClaims struct { |
| UserNmae string `json:"username"` |
| jwt.StandardClaims |
| } |
| |
| func main() { |
| jwt_key := []byte("yingxiaozhu") |
| |
| claims := myClaims{ |
| UserNmae: "颖小主", |
| StandardClaims: jwt.StandardClaims{ |
| NotBefore: time.Now().Unix() - 60, |
| ExpiresAt: time.Now().Unix() + 60 * 60 *2, |
| Issuer: "签发人", |
| }, |
| } |
| token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) |
| token_string, err := token.SignedString(jwt_key) |
| if err != nil { |
| fmt.Println(err.Error()) |
| return |
| } |
| fmt.Println(token_string) |
| |
| |
| parseToken,err := jwt.ParseWithClaims(token_string, &myClaims{}, func(token *jwt.Token) (interface{}, error) { |
| return jwtToken, nil |
| }) |
| if err != nil { |
| fmt.Println(err.Error()) |
| } |
| |
| fmt.Println(parseToken.Claims.(*myClaims).UserNmae) |
| |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!