3

複数のタイプのユーザーを使用して 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 ());

それを私が直した

  1. 各ローカル戦略に個別の名前を付ける必要がありました
  2. ユーザーのタイプ(私の場合はクライアントまたは管理者)に応じて、シリアル化/逆シリアル化する必要がありました。
4

2 に答える 2