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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: Golang:golang-jwt/jwt/v4生成和解析jwt

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

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

文档

安装

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]
}


相关文章
|
3月前
|
Go 开发者
|
3月前
|
监控 测试技术 API
|
3月前
|
编译器 Go 开发者
详尽解析:Golang 中的常量及其使用
【8月更文挑战第31天】
66 0
|
3月前
|
安全 Nacos 数据安全/隐私保护
【技术干货】破解Nacos安全隐患:连接用户名与密码明文传输!掌握HTTPS、JWT与OAuth2.0加密秘籍,打造坚不可摧的微服务注册与配置中心!从原理到实践,全方位解析如何构建安全防护体系,让您从此告别数据泄露风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其连接用户名和密码的明文传输成为安全隐患。本文探讨加密策略提升安全性。首先介绍明文传输风险,随后对比三种加密方案:HTTPS简化数据保护;JWT令牌减少凭证传输,适配分布式环境;OAuth2.0增强安全,支持多授权模式。每种方案各有千秋,开发者需根据具体需求选择最佳实践,确保服务安全稳定运行。
247 0
|
4月前
|
存储 JSON 安全
OAuth2与JWT在API安全中的角色:技术深度解析
【7月更文挑战第20天】OAuth2和JWT作为两种重要的安全协议,在API安全中发挥着不可或缺的作用。OAuth2通过提供灵活的授权框架,实现了对资源的细粒度访问控制;而JWT则通过其紧凑性和自包含性,确保了身份验证和信息传输的安全性。在实际应用中,将OAuth2和JWT结合使用,可以构建出既强大又安全的API服务,为用户提供更加安全、可靠和便捷的数字体验。
|
3月前
|
JSON 人工智能 算法
Golang 搭建 WebSocket 应用(四) - jwt 认证
Golang 搭建 WebSocket 应用(四) - jwt 认证
51 0
|
3月前
|
关系型数据库 API Go
[golang]在Gin框架中使用JWT鉴权
[golang]在Gin框架中使用JWT鉴权
|
3月前
|
Go
[golang]jwt生成与解析
[golang]jwt生成与解析
150 0
|
3月前
|
缓存 移动开发 Go
golang bufio解析
golang bufio解析
25 0
|
5月前
|
Go
golang解析excel、csv编码格式
golang解析excel、csv编码格式
47 4