v2.5.2
Giriş yap

NodeJS, JsonWebToken kullanarak "JsonWebTokenError: secret or public key must be provided" hatası alıyorum.

yusufgng
207 defa görüntülendi ve 1 kişi tarafından değerlendirildi

export default (req: any, res:any, next: any) => {

const token = req.headers.access_token as string
if(!token) {return res.status(HTTP_UNAUTHORIZED).send("UnAuthhorized")}
try{
    const decodedUser = verify(token, process.env.TOKEN_SECRET!)
    req.user = decodedUser
}catch(err){
    console.log(err)
    res.status(HTTP_UNAUTHORIZED).send()
}

return next()

}

Cevap yaz
Cevaplar (2)
tayfunerbilen
236 gün önce

hata soyluyor aslinda sebebini, JWT'yi parse ederken kullandigin secret key'in hatali.

process.env.TOKEN_SECRET!

burada belki sonundaki unlem isaretinden dolayi olabilir, boyle bir kullanim gormedim daha once javascript'de. En kotu debug etmek icin console'a basip bakabilirsin key'in dogru gelip gelmedigine.

atreidesjs
237 gün önce

Aklıma gelen ilk hata sanırım env dosyasında yer alan TOKEN_SECRET'a ulaşamıyor. Emin olmak için, yukarda paylaştığın kodun yer aldığı dosyada bu secret key'i bir değişkene atadıktan sonra (token'da uyguladığın gibi) console'da görüntülemeye çalışabilirsin.