문제

나는 sailsjs와 함께 여권을 구현하려고 노력하고 있으며, 인증을 시도 할 때 응답을 얻지 못하고 있습니다.다음은 코드입니다.

//config/passport.js

var  passport = require('passport')
    , LocalStrategy = require('passport-local').Strategy;

module.exports = {
    express: {
        customMiddleware: function(app){
            console.log('Express midleware for passport');
            app.use(passport.initialize());
            app.use(passport.session());
        }
    }
};

passport.serializeUser(function(user, done) {
    done(null, {omar: "omar"});
});

passport.deserializeUser(function(id, done) {

        done(null, {omar: "omar"});

});

passport.use(new LocalStrategy(
    function(username, password, done) {
        // asynchronous verification, for effect...
        process.nextTick(function () {

                return done(null, {user: "omar"});

        });
    }
));
.

_

//LoginController.js
var passport = require('passport');
var loginController = {


    login: function(req, res){
        //res.json(req.param('username'));
        console.log('loginctrl');

        passport.authenticate('local', { failureRedirect: '/login', failureFlash: true }),
            function(req, res) {
                console.log('passport auth');
                res.send("success");
            }


    },

  /**
   * Overrides for the settings in `config/controllers.js`
   * (specific to LoginController)
   */
  _config: {}


};


module.exports = loginController;
.

나는 / 로그인에 게시하려고하지만, 내가 얻는 유일한 콘솔 메시지는 다음과 같습니다.

여권을위한 익스프레스 뮤지웨어
loginctrl

LocationStrategy 콜백을 호출하지 않고 "0 No 응답"오류가 없습니다. 왜 그거야?

도움이 되었습니까?

해결책

여기에서 passport.authenticate를 호출하는 방식에 문제가 있습니다 :

passport.authenticate('local', { failureRedirect: '/login', failureFlash: true }),
            function(req, res) {
                console.log('passport auth');
                res.send("success");
            }
.

passport.authenticate 요청 / 응답에서 호출 할 기능을 반환합니다.

돛 / 여권 통합의 일부 예제는 여기를 참조하십시오 :

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top