passport.js(kudosからJared)のドキュメントを読んだ後、私はほとんどすべてが間違っていることを理解しました。
-
2つのlocalStrategiesを作成しました
passport.use('userLocal', new LocalStrategy(User.authenticate())); passport.use('clientLocal', new LocalStrategy(Client.authenticate()));
と認証するには、
passport.authenticate('userLocal')(req, res, function () {
res.redirect('/profile');
});
and
passport.authenticate('clientLocal')(req, res, function () {
res.redirect('/client');
});
-
serializeUserとdeseriealizeUserにパスポートモジュールを使用しました(l =passport-local-mongooseモジュールを使用していません)。
passport.serializeUser(function(user, done) { done(null, user); });
passport.deserializeUser(function(user, done) { if(user!=null) done(null,user); });
これで、ユーザースキーマ(オブジェクト)全体がリクエストに保存され、任意のルートからアクセスできるようになりました。
同様の問題で他の人に役立つことを願っています。