登录
首页 >  Golang >  Go问答

在 Golang 中解码 JWT 令牌

来源:Golang技术栈

时间:2023-03-24 11:40:29 441浏览 收藏

哈喽!今天心血来潮给大家带来了《在 Golang 中解码 JWT 令牌》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到golang,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

我目前正在开发一个 Golang 应用程序。我从客户端收到一个 JWT 令牌,在 Go 中我需要解码该令牌并获取信息:用户、名称等。我正在检查可用于处理 JWT 的库令牌,我来到https://github.com/dgrijalva/jwt- go,但我不知道如何简单地制作我需要的东西。

我有令牌,我需要将信息解码成地图或至少一个 json。我在哪里可以找到如何操作的指南?谢谢!

正确答案

函数[jwt.ParseWithClaims](https://godoc.org/github.com/dgrijalva/jwt- go#ParseWithClaims)接受一个接口jwt.Claims作为第二个参数。除了基于结构的自定义声明外,该包还提供map基于结构的声明,即[jwt.MapClaims](https://godoc.org/github.com/dgrijalva/jwt- go#MapClaims). 因此,您可以简单地将令牌解码为 a MapClaims,例如

tokenString := ""    
claims := jwt.MapClaims{}
token, err := jwt.ParseWithClaims(tokenString, claims, func(token *jwt.Token) (interface{}, error) {
    return []byte(""), nil
})
// ... error handling

// do something with decoded claims
for key, val := range claims {
    fmt.Printf("Key: %v, value: %v\n", key, val)
}

今天带大家了解了golang的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表