ошибка маршрута аутентификации с использованием nodejs и passportjs - PullRequest
0 голосов
/ 27 марта 2020

Я использую паспорт js и jwt для аутентификации в nodejs express. Но когда запрос отправляется в маршрут маршрута аутентификации, он отвечает внутренней ошибкой.

passport. js

require("custom-env").env();
const JwtStrategy = require("passport-jwt").Strategy;
const ExtractJwt = require("passport-jwt").ExtractJwt;
const User = require("../model/model");

const opts = {};
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken();
opts.secretOrKey = process.env.ACCESS_TOKEN_SECRET;

console.log(opts);
module.exports = passport => {
    passport.use(
        new JwtStrategy(opts, (jwt_payload, done) => {
            console.log("testsssss", jwt_payload);
            return done(null, jwt_payload);

        })
    );
};

сервер. js

require("custom-env").env();
const express = require("express");

const mongoose = require("mongoose");
const bodyParser = require("body-parser");
const passport = require("passport");
const cors = require("cors");
const app = express();

let port = process.env.PORT;
app.use(bodyParser.json());

mongoose.connect(process.env.MONGODB_URL);

let db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error:"));
db.once("open", () => {
    console.log("Mongoose connection success ");
});

const routes = require("./routes");
// Enable CORS - Cross Origin Resource Sharing
app.use(cors());

require("./config/passport")(passport);

app.use("/", passport.authenticate("jwt", { session: false }, routes));

app.listen(port, () => {
    console.log("comments and reminders server running in port : ", port);
});

маршруты. js

const express = require("express");
const router = express.Router();

const AuthController = require("./controllers/AuthController");
const CommentsAndRemindersController = require("./controllers/CommentsAndRemindersController");
const ReminderEventsController = require("./controllers/ReminderEventsController");


router.get("/", (req, res, next) => {
    res.json({
        message: "You made it to the secure route",
        user: req.user
        // token: req.query.secret_token
    });
});

module.exports = router;

ошибка

TypeError: Невозможно прочитать свойство 'apply' из undefined в / home / supun / gitrepos / 360 / comments-and-памятки / node_modules / express / lib /router/index.js:635:15 в следующем (/home/supun/gitrepos/360/comments-and-reminders/node_modules/express/lib/router/index.js:210:14) в функции .handle (/home/supun/gitrepos/360/comments-and-reminders/node_modules/express/lib/router/index.js:174:3) на маршрутизаторе (/ home / supun / gitrepos / 360 / comments- и-напоминания / node_modules / express / lib / router / index. js: 47: 12) на JwtStrategy.strategy.error (/ home / supun / gitrepos / 360 / comments-and-Remders / node_modules / passport / lib / middleware / authenticate. js: 358: 18) по адресу /home/supun/gitrepos/360/comments-and-reminders/node_modules/passport-jwt/lib/strategy.js:126:30 по адресу / home / supun / gitrepos / 360 / комментарии-и-напоминание s / node_modules / jsonwebtoken / verify. js: 223: 12 в getSecret (/home/supun/gitrepos/360/comments-and-reminders/node_modules/jsonwebtoken/verify.js:90:14) в объекте. module.exports [как проверить] (/home/supun/gitrepos/360/comments-and-reminders/node_modules/jsonwebtoken/verify.js:94:10) в Function.module.exports [как JwtVerifier] (/ home /supun/gitrepos/360/comments-and-reminders/node_modules/passport-jwt/lib/verify_jwt.js:4:16) в / home / supun / gitrepos / 360 / комментарии-напоминания / node_modules / passport -jwt / lib / стратегии. js: 104: 25 в JwtStrategy._secretOrKeyProvider (/home/supun/gitrepos/360/comments-and-reminders/node_modules/passport-jwt/lib/strategy.js:40: 13) в JwtStrategy.authenticate (/home/supun/gitrepos/360/comments-and-reminders/node_modules/passport-jwt/lib/strategy.js:99:10) при попытке (/ home / supun / gitrepos /) 360 / comments-and-памятки / node_modules / passport / lib / middleware / authenticate. js: 366: 16) при аутентификации (/ home / supun / gitrepos / 360 / комментарии-и-напоминания /) node_modules / passport / lib / middleware / authenticate. js: 367: 7) в Layer.handle [как handle_request] (/ home / supun / gitrepos / 360 / комментарии-и-напоминания / node_modules / express / lib / router / . слой js: 95: 5)

...