0
点赞
收藏
分享

微信扫一扫

Golang:golang-jwt/jwt/v4生成和解析jwt


A go (or ‘golang’ for search engine friendliness) implementation of JSON Web Tokens.

译文:一个Go(或“Golang”表示搜索引擎友好性)JSON Web Tokens实现。

文档

  • ​​https://pkg.go.dev/github.com/golang-jwt/jwt/v4​​
  • ​​https://github.com/golang-jwt/jwt​​

安装

go get github.com/golang-jwt/jwt/v4

示例:生成jwt

package main

import (
"fmt"

"github.com/golang-jwt/jwt/v4"
)

func main() {
// 秘钥
secret := []byte("key")

// 参数
token := jwt.NewWithClaims(
jwt.SigningMethodHS256,
jwt.MapClaims{
"name": "Tom",
"age": 20,
})

tokenString, _ := token.SignedString(secret)

fmt.Println(tokenString)
// eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZ2UiOjIwLCJuYW1lIjoiVG9tIn0.bU-8W6kUQM55ZT-mviisDnGja2nOmvYXkyWirrFMUf0
}

示例:解析jwt

package main

import (
"fmt"

"github.com/golang-jwt/jwt/v4"
)

func main() {
// 秘钥
secret := []byte("key")

tokenString := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZ2UiOjIwLCJuYW1lIjoiVG9tIn0.bU-8W6kUQM55ZT-mviisDnGja2nOmvYXkyWirrFMUf0"

token, _ := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) {
return secret, nil
})

claims, _ := token.Claims.(jwt.MapClaims)
fmt.Printf("claims: %v\n", claims)
// claims: map[age:20 name:Tom]
}


举报

相关推荐

0 条评论