У меня есть сервер на Node js. Также у меня есть система авторизации с токеном jwt. Итак, чтобы проверить пользователя, я использую эту стратегию:
new Strategy(opts, async ( payload , done) => {
try {
let user = await User.findById(payload.id);
if (!user) throw new Error("User not found");
if (user.role !== payload.role) throw new Error("Hacker");
return done(null, user.getUserInfo());
} catch (e) {
console.info(e);
done(null, false);
}
})
И это мой маршрут:
router.get("url", passport.authenticate("jwt", { session: false }), async (req, res) => {
try {
} catch (e) {
console.info(e);
}
});
И вопрос, как расшифровать мой токен, чтобы получить полезную нагрузку на моем маршруте.
@wiredmartian Есть ли веская причина рекомендовать вручную разбивать, декодировать и анализировать токен, а не просто использовать функции JWT?




