複数のタイプのユーザーを使用して Express で PassportJs を使用しようとしています (それぞれモデルが異なります)。1 種類のユーザーのみで使用する場合は問題ありませんが、2 番目のユーザーを追加すると機能しません。何か案が ?
// Configuring Passport
var passport = require ('passport');
var LocalStrategyAdmin = require ('passport-local').Strategy;
var LocalStrategyClient = require ('passport-local').Strategy;
var adminModel = require ('./models/adminModel');
var clientModel = require ('./models/clientModel');
var session = require ('cookie-session');
app.use (session ({keys: [secretKey1, secretKey2]}));
app.use (passport.initialize ());
app.use (passport.session ());
passport.use (new LocalStrategyAdmin (adminModel.authenticate ()));
passport.use (new LocalStrategyClient (clientModel.authenticate ()));
passport.serializeUser (adminModel.serializeUser ());
passport.deserializeUser (adminModel.deserializeUser ());
passport.serializeUser (clientModel.serializeUser ());
passport.deserializeUser (clientModel.deserializeUser ());
それを私が直した
- 各ローカル戦略に個別の名前を付ける必要がありました
- ユーザーのタイプ(私の場合はクライアントまたは管理者)に応じて、シリアル化/逆シリアル化する必要がありました。