我正在使用passport js来处理一些身份验证。但是,我也使用angular $route service来处理我在客户端的模板。因此,我不确定如何继续使用护照,因为doc页面上的示例假设服务器端模板。例如,如何使用护照js与客户端模板?
app.post('/login',
passport.authenticate('local', {
successRedirect: '/',
failureRedirect: '/login',
failureFlash: true
})
);
所以在此基础上,它看起来像“/”和“/登录”是指以服务模板,不只是一个RESTful查询或某事的反应。我做事的方式,我的模板发生在客户端。在我的角度文件中设置好所有
$routeProvider
.when('/', {
templateUrl: 'templates/login.html',
controller: 'MainCtrl'
})
.when('/home', {
templateUrl: 'templates/home.html',
controller: 'MainCtrl'
});
好像我试图混合和匹配,并没有真正理解做事情的两种方法。
所以我知道我可能已经窘况迄今为止措辞这一点,但我想要做的就是这样的事情
HTML(login.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
这可能是不够的,必须到任何你有用,但如果需要,我可以去更深入。具体的错误信息并不是我想要问的精神。
浏览器给你的错误或者它发生在服务器端?该错误可能由于缺少参数而发生,您应该查看堆栈跟踪并确切指出发生的位置 – rocketspacer