登录
首页 >  Golang >  Go问答

Golang中jwt.StandardClaims的时间格式类型问题

来源:stackoverflow

时间:2024-02-10 08:30:23 143浏览 收藏

本篇文章给大家分享《Golang中jwt.StandardClaims的时间格式类型问题》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

我正在使用此包 github.com/dgrijalva/jwt-go/v4 在登录函数中设置声明:

now := time.Now()
claims := &jwt.StandardClaims{
    Issuer: "Test",
    ExpiresAt: now.Add(time.Hour * 24).Unix(),
}

ide 不断告诉我:

无法使用“now.add(time.hour * 24).unix()”(int64 类型)作为时间类型。

我读到,因为我输入了错误的值,但是,在我在网上看到的所有示例中,这正是大多数人的设置方式。

我仍在学习 go,所以我不确定将此时间格式转换为有效格式的正确方法。


正确答案


在 github.com/golang-jwt/jwt/v4 中,standardclaims 类型已弃用,您应该将 standardclaims 替换为 registeredclaims。

关于 不能使用 'now.add(time.hour * 24).unix()' (type int64) 作为 time. 类型,您需要使用 numericdate 类型,因此您的代码将如下所示: p>

claims := &jwt.RegisteredClaims{
    Issuer: "Test",
    ExpiresAt: &jwt.NumericDate{now.Add(time.Hour * 24)},
}

以上就是《Golang中jwt.StandardClaims的时间格式类型问题》的详细内容,更多关于的资料请关注golang学习网公众号!

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