我正在使用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