登录
首页 >  Golang >  Go问答

签署 JWT 时是否安全使用单一签名密钥?

来源:stackoverflow

时间:2024-02-18 08:15:27 293浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《签署 JWT 时是否安全使用单一签名密钥?》,涉及到,有需要的可以收藏一下

问题内容

我正在 golang 中构建一个 web api。我想在这个 api 中实现身份验证,所以我考虑了 jwt。

在 dgrijalva/jwt-go 的 jwt 实现中,给出了以下示例:

token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
    "foo": "bar",
    "nbf": time.Date(2015, 10, 10, 12, 0, 0, 0, time.UTC).Unix(),
})

tokenString, err := token.SignedString(hmacSampleSecret)

hmacsamplesecret 用于对密钥进行签名。出于安全原因,此 hmacsamplesecret 是否应该是 .env 文件中的字符串?或者这个值应该轮换并偶尔过期一次?

如果推荐最后一个,是否已经有我可以使用的实现?


解决方案


如果您想使用 SHA256 算法进行 jwt 签名,那么您应该在 .env 文件中生成并存储长随机密钥

秘密应该是静态的,不用太担心安全性,任何人几乎不可能暴力破解并找到你的秘密。

你不需要改变你的秘密:)

本篇关于《签署 JWT 时是否安全使用单一签名密钥?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

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