jwt.sign(payload, secretOrPrivateKey, [options, callback])
Источник
const token = jwt.sign ({foo: 'bar'}, 'shhhhh');
полезная нагрузка может быть литералом объекта, буфером или строкой, представляющей действительный JSON.
Так что в вашем случае вы передаете «полезную нагрузку» как объект, а «секретный» - это «тссс»
как согласно документации
secretOrPrivateKey - строка, буфер или объект, содержащий либо секрет для алгоритмов HMA C, либо закрытый ключ PEM для RSA и ECDSA.
Таким образом, вы не предоставляете действительный аргумент, представляющий собой длинное значение, а не строку
, вы можете передать значение в виде строки или передать алгоритм в secretOrPrivateKey, например,
hmacSha256(key, message) {}