Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2023, 21:05   #1
AntonSE
Новичок
Джуниор
 
Регистрация: 27.09.2023
Сообщений: 3
По умолчанию Express + passport-jwt

не получается до конца прикрутить passport-jwt к express

Код:
const express = require('express');
const bodyParser = require('body-parser');
const passport = require('passport');
 
const app = express();
 
const PORT = process.env.PORT || 5000;
 
 
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());
app.use(passport.initialize());
app.use(passport.session());
 
require('./middleware/passport')(passport);
 
const routes = require('./settings/routes');
routes(app);
 
app.listen(PORT, () => {
    console.log(`App listen on port ${PORT}`);
})
Выдаёт ошибку на require('./middleware/passport')(passport);

TypeError: require(...) is not a function

вроде всё по документации делал

во на всякий случай содержимое /middleware/passport.js

Код:
const JwtStrategy = require('passport-jwt').Strategy;
const ExtractJwt = require('passport-jwt').ExtractJwt;
 
const db = require('./../settings/db');
const config = require('./../config');
 
 
const options = {
    jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
    secretOrKey: config.JWT
}
 
module.experts = passport => {
    passport.use(
        new JwtStrategy(options, (payload, done) => {
            try {
                db.query("SELECT `user_id`, `email` FROM `users` WHERE `user_id` = '" + payload.userId + "'", (error, rows, fields) => {
                    if (error) {
                        console.log(error);
                    } else {
                        if (user) {
                            done(null, user);
                        } else {
                            done(null, false);
                        }
 
                    }
                });
            } catch(e) {
                console.log(e)
            }
        })
    );
}
В чём прблемма понять не могу
AntonSE вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не правильно работают маршруты laravel-passport. AntonSB PHP 0 14.04.2022 15:36
Аутентификация с помощью 2х стратегий Passport js Express Node js Illusiony JavaScript, Ajax 0 09.06.2020 20:40