/ / पासपोर्ट को निष्पादित करते समय, पासपोर्ट, अनाधिकृत 404 को पोस्ट के रूप में प्रदर्शित करता है - कोणीयज, नोड.जेएस, एक्सप्रेस, पासपोर्ट.जेएस, पासपोर्ट स्थानीय

Passport.authenticate निष्पादित करते समय, अनधिकृत 404 के रूप में प्रदर्शित करता है - angularjs, node.js, express, passport.js, पासपोर्ट-स्थानीय

फ़ाइल router.js राउटर का उपयोग किया जाता है।

आयन 2 में, प्रदाताओं के साथ किया जाता है post uri देकर विधि http://localhost:8080/api/auth/login जो देता है 400 डीबगर उपकरण में खराब अनुरोध त्रुटि।

मैंने पाया है when I removerequireLoginthen the post is working fine.But I needपासपोर्ट के स्थानीय लॉगिन को प्रमाणित करने के लिए आवश्यकता है।

router.js

//require the passport strategy from the folder in the project.
var passport = require("passport");
var x = require("./usefile/file");

var requireLogin = passport.authenticate("local",{session: false});

module.exports = function(app){

var auth = express.Router();

app.use("/api/auth", auth);

auth.post("/login", requireLogin, function(req, res){
x.login(req, res)});
}

passport.js

var passport = require("passport");
var JwtStrategy = require("passport-jwt").Strategy;
var ExtractJwt = require("passport-jwt").ExtractJwt;
var LocalStrategy = require("passport-local").Strategy;
var config = require("./auth");
var User = require("../models/user");

var localOptions = {
usernameField: "email",
};

var localLogin = new LocalStrategy(localOptions, function (email, password, done) {
User.find(
{ email: email }, function (err, user) {
if (err) {
return done(err);
}
if (!user) {
return done(null, false, { error: "Login failed,Please try again." });
}
if (!isMatch) {
return done(null, false, { error: "Login failed, Please try again." });
}
user.comparePassword(function(password, isMatch){
if(err){
return done(err);
}
if(!isMatch){
return done(null, false, {error:"Login failed, Please try again."});
}
return done(null, user);
});
});
});
passport.use(localLogin);

ध्यान दें: मेरा कोड आवश्यकता का उपयोग नहीं कर रहा है, जो पासपोर्ट से प्रमाणित करने के लिए उपयोग किया जाता है, इसलिए यह 400 खराब अनुरोध त्रुटि दिखा रहा है।

कृपया मदद कीजिए।

उत्तर:

जवाब के लिए 0 № 1

क्या आपको अपनी स्थानीय पासपोर्ट फ़ाइल की आवश्यकता है? आपको npm पासपोर्ट मॉड्यूल की आवश्यकता प्रतीत होती है, न कि आपकी स्थानीय फ़ाइल को।

आपको कोड की पहली पंक्ति को बदल देना चाहिए router.js सेवा मेरे

//require the passport strategy from the folder in the project.
var passport = require("./passport");//<--change this line
var x = require("./usefile/file");

var requireLogin = passport.authenticate("local",{session: false});

module.exports = function(app){

var auth = express.Router();

app.use("/api/auth", auth);

auth.post("/login", requireLogin, function(req, res){
x.login(req, res)});
}

जरा मुझे जानने दें यह कैसे होता है।