我正在用 Golang 構(gòu)建一個(gè) web api。我想在這個(gè) API 中實(shí)現(xiàn)身份驗(yàn)證,所以我在看 JWT。在dgrijalva/jwt-go的 JWT 實(shí)現(xiàn)中,給出了以下示例: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用于簽署密鑰。出于安全原因,這應(yīng)該是.envhmacSampleSecret文件中的字符串嗎?或者這個(gè)值是否應(yīng)該偶爾輪換和過(guò)期?如果推薦最后一個(gè),是否已經(jīng)有我可以使用的實(shí)現(xiàn)?
1 回答

湖上湖
TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
如果您想使用 SHA256 算法進(jìn)行 jwt 簽名,那么您應(yīng)該在 .env 文件中生成并存儲(chǔ)長(zhǎng)隨機(jī)密鑰。
秘密應(yīng)該是靜態(tài)的,不要太擔(dān)心安全性,任何人幾乎不可能暴力破解并找到你的秘密。
你不需要改變你的秘密:)
- 1 回答
- 0 關(guān)注
- 105 瀏覽
添加回答
舉報(bào)
0/150
提交
取消