我正在使用护照 js来处理一些身份验证。但是,我也在使用angular $route 服务来处理我在客户端的模板。因此,我不确定如何继续使用护照,因为文档页面上的示例假设服务器端模板。例如,
app.post('/login',
passport.authenticate('local', {
successRedirect: '/',
failureRedirect: '/login',
failureFlash: true
})
);
因此,基于此,“/”和“/login”似乎是为了提供模板,而不仅仅是对 RESTful 查询或其他东西的响应。我做事的方式,我的模板发生在客户端。在我设置一切的角度文件中
$routeProvider
.when('/', {
templateUrl: 'templates/login.html',
controller: 'MainCtrl'
})
.when('/home', {
templateUrl: 'templates/home.html',
controller: 'MainCtrl'
});
似乎我正在尝试混搭,并没有真正理解任何一种做事方法。
所以我知道到目前为止我可能已经用可怕的措辞来表达,但我想做的是这样的
html (登录.html)
<h3> Login </h3>
<form action= "login" method="post">
Username:<br>
<input type="text" name="username" value="">
<br>
Password:<br>
<input type="password" name="password" value="">
<br><br>
<input type="submit" value="Submit">
</form>
节点后端
我意识到我没有验证任何东西,但这对我来说还没有工作
passport.use(new LocalStrategy(
function (username, password, done) {
console.log(username); // this does not fire
return done(null, null);
}
));
app.post('/login',
passport.authenticate('local', {
successRedirect: '/home',
failureRedirect: '/',
failureFlash: true
})
);
所以我想使用护照进行身份验证,但使用客户端模板/路由来保持单页应用程序的感觉。
有人可以指出我正确的方向吗?或者告诉我我所做的是否完全被误导了?
编辑:我的代码得到的错误是
TypeError: undefined is not a function
这可能不足以对你们中的任何人有用,但如果需要,我可以更深入地进行。具体的错误信息并不是我试图问的精神。