passport.authenticate 无法正常使用 nodejs
passport.authenticate not working properly with nodejs
我基本上是在尝试将登录方法分离到一个单独的文件中(从 app.js 中分离出来)。
这样可以很好地工作:
== app.js ==
app.get("/login", passport.authenticate(passportConfig.config.passport.strategy,
{
successRedirect: "/",
failureRedirect: "/login"
})
);
但是当我将方法分离到不同的文件然后重定向(或者可能是身份验证似乎不起作用)
== 新 app.js
app.get("/login", authController.loginCtrl)
== 认证控制器
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
的 connect middleware。这意味着 loginCtrl
必须 return 它。
app.get("/login", authController.loginCtrl())
loginCtrl(){
let passportConfig = new PassportConfig();
var config = passportConfig.config;
return passport.authenticate(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)
== 认证控制器
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
的 connect middleware。这意味着 loginCtrl
必须 return 它。
app.get("/login", authController.loginCtrl())
loginCtrl(){
let passportConfig = new PassportConfig();
var config = passportConfig.config;
return passport.authenticate(config.passport.strategy, {
successRedirect: "/",
failureRedirect: "/login"
});
}