我正在尝试将PassportJs与多种类型的用户一起使用(每种用户都有不同的模型)。我究竟做错了什么? [英] I am trying to use PassportJs with multiple types of users (each one has a different model). What am I doing wrong?

查看:89
本文介绍了我正在尝试将PassportJs与多种类型的用户一起使用(每种用户都有不同的模型)。我究竟做错了什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试通过多种类型的用户(每个人使用不同的模型)来快速使用PassportJs。
当我仅与一种类型的用户一起使用时,可以,但是当我添加另一种类型的用户时,则无法使用。知道吗?

I am trying to use PassportJs with express using multiple types of users (each one has a different model). When I use it with only one type of user it is OK but when I add a second one it is not working. Any idea ?

// 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. 我必须根据用户类型(在我的情况下为客户端或admin)进行序列化/反序列化。


推荐答案

我必须为每个本地策略
赋予不同的名称,我必须对它们进行序列化/反序列化取决于用户的类型(在我的情况下是客户端还是管理员)。

I had to give distinct names for each local strategy I had to serialize/deserialize depending on the type of the user (client or admin in my case).

这篇关于我正在尝试将PassportJs与多种类型的用户一起使用(每种用户都有不同的模型)。我究竟做错了什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆