Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript passport.authenticate无法与nodejs正常工作_Javascript_Node.js_Ecmascript 6_Passport.js_Passport Saml - Fatal编程技术网

Javascript passport.authenticate无法与nodejs正常工作

Javascript passport.authenticate无法与nodejs正常工作,javascript,node.js,ecmascript-6,passport.js,passport-saml,Javascript,Node.js,Ecmascript 6,Passport.js,Passport Saml,我基本上是试图将登录方法分离到一个单独的文件中(从app.js中) 这样做很好: ==app.js== app.get("/login", passport.authenticate(passportConfig.config.passport.strategy, { successRedirect: "/", failureRedirect: "/login" }) ); 但是当我将

我基本上是试图将登录方法分离到一个单独的文件中(从app.js中)

这样做很好:

==app.js==

app.get("/login", passport.authenticate(passportConfig.config.passport.strategy, 
          {
            successRedirect: "/",
            failureRedirect: "/login"
            })
        );
但是当我将该方法分离到另一个文件时,重定向(或者可能是身份验证似乎不起作用)

==新建app.js

app.get("/login", authController.loginCtrl)
==AuthenticationController

import PassportConfig from './passportConfig';
import passport from 'passport';
export default class AuthenticationController{
  constructor(){

  }
  loginCtrl(){
        let passportConfig = new PassportConfig();
        var config = passportConfig.config;

        passport.authenticate(config.passport.strategy, {
            successRedirect: "/",
            failureRedirect: "/login"
        });
    }
}

谁能帮我一下我做错了什么。

passport.authenticate
生成一个必须传递给
app.get
。这意味着
loginCtrl
必须返回它

app.get("/login", authController.loginCtrl())

loginCtrl(){
    let passportConfig = new PassportConfig();
    var config = passportConfig.config;

    return passport.authenticate(config.passport.strategy, {
        successRedirect: "/",
        failureRedirect: "/login"
    });
}

passport.authenticate
生成一个必须传递给
app.get
。这意味着
loginCtrl
必须返回它

app.get("/login", authController.loginCtrl())

loginCtrl(){
    let passportConfig = new PassportConfig();
    var config = passportConfig.config;

    return passport.authenticate(config.passport.strategy, {
        successRedirect: "/",
        failureRedirect: "/login"
    });
}

你救了我一天。。谢谢你的回复。似乎我不能接受超过5分钟的答案(可能是一些限制)。我很快就会接受答案的你救了我一天。。谢谢你的回复。似乎我不能接受超过5分钟的答案(可能是一些限制)。我很快就会接受答案。