パスポート jsを使用して認証を処理しています。ただし、角度のある $route サービスも使用して、クライアント側でテンプレートを処理しています。このため、doc ページの例はサーバー側のテンプレートを想定しているため、passport の使用方法がわかりません。例えば、
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 (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
これはおそらく皆さんの役に立つには十分ではありませんが、必要に応じてさらに詳しく説明できます。特定のエラーメッセージは、私が尋ねようとしていたことの精神ではありません。