问题标签 [jwt-go]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5518 浏览

go - 如何将 JWT 的到期日期解析为 Go 中的 time.Time()?

我想exp从 JSON Web 令牌 (JWT) 解析到期日期 (),而不进行验证。我尝试了以下脚本(试图遵循How to parse unix timestamp to time.Time):

但是,我收到此错误:

有没有办法expjwt图书馆里得到一个字符串?我怎样才能让这给我iatJWT 的到期日期(或 )?

0 投票
1 回答
222 浏览

go - 输入自定义电子邮件声明时无法创建 JWT 令牌

我正在尝试使用 Go 生成 JWT 令牌,并创建了以下函数。我需要在 jwt 中添加电子邮件地址,但是当我这样做时,我收到一条错误消息key is of invalid type

这可能是什么原因?我犯了什么错误?

0 投票
1 回答
3045 浏览

go - 如何使用 Go 访问 JWT 子声明?

我需要从 Go 中的 JWT 检索子声明的值。

我有(旧版)JWT 我需要在 go 中解析,其中包含一个自定义声明“数据”,其中包含一个由一些字段(用户 ID、用户名)组成的 Json-Object,所以

使用 using github.com/dgrijalva/jwt-go,我可以解析令牌并使用以下方式访问声明:

这适用于标准声明,我还从“数据”声明中的 Json-Sub-Object 获取字段名称,但不是字段值(所有空字符串)。我还尝试设置与声明层次结构(外部和内部结构)匹配的结构,但没有成功。

访问子声明值的方法是什么?

0 投票
1 回答
1491 浏览

go - JWT 签名方法 HS256 Golang

我有一个关于在 Go 中使用方法 HS256 进行 JWT 签名的问题。我正在使用这个导入“github.com/dgrijalva/jwt-go”

它不需要密钥长度 >= 256 位(32 字节)?

假设我有一个用 Golang 编写的服务器应用程序,它使用 16 位的密钥长度为 JWT 签名。当我尝试使用相同的密钥在客户端应用程序(用 Java 编写)中验证这个 JWT 时,它给了我一个错误:

io.jsonwebtoken.security.WeakKeyException: The specified key byte array is 16 bits which is not secure enough for any JWT HMAC-SHA algorithm.

好吧,这个错误是有道理的,因为密钥长度小于 256 位,但是服务器应用程序如何生成使用大小小于 256 位的密钥签名的 JWT 而不会出错?

这是创建访问令牌的函数:

0 投票
2 回答
3712 浏览

validation - 使用 JWKS golang 进行 JWT 验证

我正在使用 dgrijalva/jwt-go 和 lestrrat-go/jwx。我试图实现的是使用 jwks 验证 wso2 jwt。

令牌(过期令牌):

jwks:

我看到的大多数例子都使用'kid'并且不相关,因为我的令牌头没有它,它有'x5t'字段..

我还必须注意一件事,我的签名似乎是 base64 编码而不是 base64 url​​ 编码(它几乎混淆了 Parse 方法的使用)。我尝试使用 jwt.Parse() 我尝试手动加密标头和有效负载 sha256,而不是 RS256 和 base64,但没有一个显示成功。

我尝试过的事情:

0 投票
1 回答
369 浏览

go - 如何在没有验证的情况下从 JWT 令牌中获取声明

我有一个带有以下声明的 JWT 令牌

JWT 的发行人是claims['node']. 在上述声明中,它是/auth/nodes0000000023. 如何在不验证令牌的情况下从令牌中提取颁发者。我想获取发行者名称,以便我可以publicKey从 a中找到他的名称map,然后验证令牌。

func (*Parser) ParseUnverified在文档中找到了该功能,但不清楚如何使用它。

使用的库是github.com/dgrijalva/jwt-go

0 投票
1 回答
1360 浏览

go - 使用 jwt-go 库 - 密钥类型无效

我正在尝试生成代码中提到的令牌,但是尽管我正在使用它,但它在这条线上给了我错误

tokenString, err := token.SignedString(mySigningKey) as key 的类型无效

有什么建议可以解决这个问题吗?

谢谢

0 投票
1 回答
221 浏览

go - 使 jwt 编码更快

我有一个/token正在使用password授权的端点。因为它正在编码一个JWT令牌,所以它有大约 1 秒的高延迟。有没有办法更快地签署 JWT?

我在github.com/dgrijalva/jwt-go库中使用 Go。

0 投票
2 回答
1618 浏览

go - RS256 消息对于 RSA 公钥大小太长 - 错误签名 JWT

我正在使用https://github.com/dgrijalva/jwt-go使用 256 位 PEM 私钥构建 JWT。我SigningMethodRS256用来签署 JWT:

在最后一行,签署 jwt: 时出现错误crypto/rsa: message too long for RSA public key size。有谁知道这是什么原因?pem 文件的大小似乎是正确的。

0 投票
2 回答
3033 浏览

go - 如何在 Golang 中验证 JWT 令牌

我想检查我们的服务器是否生成了 JWT?

我使用 JWT 进行身份验证并使用 RS256 作为 JWT 的算法

现在,我想在 Golang 中编写一个函数来验证 JWT 令牌是否属于我们。下面是我实现的代码:

这是输出:

我观察到key is of invalid type并且token.validfalse

谁能帮我指出错误的代码以及如何解决这个问题?

提前谢谢!!!