有一個奇怪的問題。用于驗證 vue 組件內的 jwt,當我使用如下硬編碼的密鑰時,它作業正常并成功驗證 jwt 簽名,但是當我使用密鑰作為環境變數時,盡管它在代碼中加載并且 console.log() 列印它的值,但 jwt 不驗證令牌并給出無效簽名的錯誤。
var jwtToken = await jwt.verify(this.responseResult.token,"Xp2s5v8yVkYp3s6v9y$B&E)H@MbQeThWmZq4t7w!z%C*F-JaNdRfUjXn2r5u8x/A?D(G KbP");
console.log(process.env.VUE_APP_JWT_SIGN_KEY); // Xp2s5v8yVkYp3s6v9y$B&E)H@MbQeThWmZq4t7w!z%C*F-JaNdRfUjXn2r5u8x/A?D(G KbP
var jwtToken = await jwt.verify(this.responseResult.token, process.env.VUE_APP_JWT_SIGN_KEY);
.env 在專案的根目錄
VUE_APP_JWT_SIGN_KEY=Xp2s5v8yVkYp3s6v9y$B&E)H@MbQeThWmZq4t7w!z%C*F-JaNdRfUjXn2r5u8x/A?D(G KbP
包.json
"devDependencies": {
"@vue/cli-service": "^3.0.5",
開發工具控制臺中的錯誤:
[Global Error Handler]: Error in v-on handler (Promise/async)[object Object]: JsonWebTokenError: invalid signature
我也嘗試將雙引號放在 .env 中,如下所示,但給出了相同的錯誤。任何人都可以幫忙嗎?
VUE_APP_JWT_SIGN_KEY="Xp2s5v8yVkYp3s6v9y$B&E)H@MbQeThWmZq4t7w!z%C*F-JaNdRfUjXn2r5u8x/A?D(G KbP"
uj5u.com熱心網友回復:
您應該將值.env括在引號內,但也應$使用反斜杠轉義,例如
VUE_APP_JWT_SIGN_KEY="Xp2s5v8yVkYp3s6v9y\$B&E)H@MbQeThWmZq4t7w!z%C*F-JaNdRfUjXn2r5u8x/A?D(G KbP"
可能還有其他特殊符號需要轉義 - 您將通過反復試驗發現它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/370455.html
下一篇:如何將組件動態添加到網格?
